Операционная система Microsoft Windows 3.1 для программиста -том 3


Анализ DLL-библиотек при помощи утилиты tdump.exe - часть 2


Обратите внимание, что в заголовке присутствует информация об адресе точки входа (Program entry Point). Начальное содержимое указателя стека (Initial Stack Pointer) равно нулю, так же как и начальный размер стека (Initial Stack Size). Это понятно, так как DLL-библиотека не имеет собственного стека.

В то же время начальный размер локальной области данных отличен от нуля и равен 512 байт (Initial Local Heap Size). Из заголовка можно также определить, что модуль DLL-библиотеки состоит из двух сегментов (Segment Count).

Далее в листинге приведены различные флаги. В частности, видно, что сегмент данных DGROUP имеет атрибуты single и может использоваться совместно различными приложениями (shared). Данный модуль может работать только в защищенном режиме (Protected mode only) и является ни чем иным, как DLL-библиотекой (Module type - Dynamic link Library(DLL)).

Program Flags DGROUP : single (shared) Global initializaton : No Protected mode only : Yes Application type : Uses windowing API Self Loading : No Errors in image : No Module type : Dynamic link Library (DLL) Other EXE Flags 2.X protected mode : No 2.X proportional font : No Gangload area : Yes Start of Gangload Area 03E0h Length of Gangload Area 3160h Miminum code swap area size 0 Expected Windows Version 3.00

Затем в листинге перечисляются различные таблицы с указанием их смещения и размера:

Segment Table Offset: 00C0h Length: 0010h Resource Table Offset: 00D0h Length: 0018h Resident Names Table Offset: 00E8h Length: 0012h Module Reference Table Offset: 00FAh Length: 0004h Imported Names Table Offset: 00FEh Length: 000Dh Entry Table Offset: 010Bh Length: 0070h Nonresident Names Table Offset: 017Bh Length: 0236h

Это таблица сегментов. В ней описаны два сегмента. Первый сегмент является сегментом кода, второй - сегментом данных.

Segment Table offset: 00C0h

Segment Number: 01h Segment Type: CODE Alloc Size : 2EEEh Sector Offset: 0040h File length: 2EEEh Attributes: Preloaded Relocations

Segment Number: 02h Segment Type: DATA Alloc Size : 0120h Sector Offset: 033Eh File length: 0120h Attributes: Sharable Preloaded




Начало  Назад  Вперед



Книжный магазин