Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.18;
Скачать: CL | DM;

Вниз

Повторение данных в IMAGE_DIRECTORY_ENTRY_IMPORT   Найти похожие ветки 

 
Spawn ©   (2003-07-05 15:55) [0]

Почему при просмотре таблицы импорта находящиеся там данные повторяются? Вот код:

procedure TForm1.Button1Click(Sender: TObject);
var
ImageDosHeader:PImageDosHeader;
ImageNtHeaders:PImageNtHeaders;
ImageDataDirectory:TImageDataDirectory;
ImportDesc: PImageImportDescriptor;
Base:Cardinal;
begin
Base:=GetModuleHandle(nil);
ImageDosHeader:=PImageDosHeader(Base);
ImageNtHeaders:=PImageNtHeaders(Base+ImageDosHeader^._lfanew);
ImageDataDirectory:=ImageNtHeaders.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT];
if ImageDataDirectory.VirtualAddress = 0 then
Exit;
ImportDesc:=PImageImportDescriptor(Base+ImageDataDirectory.VirtualAddress);

while ImportDesc^.Name<>0 do
begin
ShowMessage(PChar(Base) + ImportDesc^.Name);
Inc(ImportDesc);
end;
end;


Результат данного кода будет такой:
kernel32.dll
user32.dll
advapi32.dll
oleaut32.dll
kernel32.dll
advapi32.dll
kernel32.dll
version.dll
gdi32.dll
user32.dll
kernel32.dll
oleaut32.dll
comctrl32.dll

Заранее спасибо


 
AlexRush ©   (2003-07-07 10:50) [1]

Потому что так сгенерировал линкер. Посмотри подопытный PE-файл с помошью TDUMP.



Страницы: 1 вся ветка

Текущий архив: 2003.09.18;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.018 c
3-58573
Sevish
2003-08-27 10:53
2003.09.18
Подготовка установочного файла с помощью ИнсталлШиелд! ХЕЛП!


3-58580
Serg De
2003-08-26 15:54
2003.09.18
Формат даты в SQL


1-58663
Konsul
2003-09-04 15:31
2003.09.18
Канва на TImage


1-58687
Евгыш
2003-09-03 14:47
2003.09.18
Загрузка Frame из DLL


7-58955
CKOTu
2003-07-02 17:26
2003.09.18
Как прочитать значение REG_MULTI_SZ?