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

Вниз

Опять PE   Найти похожие ветки 

 
Bobby   (2005-07-21 16:28) [0]

Уважаемые знатоки.
PE, DLL.
Читаю, читаю умных. Мож чего-то туплю, но не могу найти простых и ясных ответов на вопросы в которые уперся. Делов-то и всего :
получить списки экспорта и импорта функций в DLL.

Можно ли коротко (Да-Нет) меня поправить.

1) Неважно, загружена Dll или лежит на диске. Относительный адрес ВСЕХ PE-структур и полей одинаков. Разница одна - точка отсчета.
  Если загружена GetModuleHandle(), если нет - 0 (начало файла)
2) ВСЕ RVA привязаны к началу файла (или HMODULE)

Я пишу программку и на пробу взял aclui.dll (w2k SP4 размер 79120 байт);

Все заголовки читаются нормально.
Читаю таблицу каталогов(IMAGE_DIRECTORY_ENTRY_EXPORT - 1-я запись.)
Нахожу VirtualAddress = $DE40
      Size           = $BD

3) Значит по адресу  $DE40 должна находится таблица TImageExportDirectory.

4) Я читаю файл с диска. Иду по этому смещению и получаю явный мусор.
  Получается, что с какого-то момента Смещение в файле
  и RVA начинают отличаться.

5) Это связано с выравниванием секций (или страниц) в памяти?

У меня есть программка-просмотрщик PE. Она показывает величину RVA как и
меня. Но если в качестве смещения выбрать просто линейный адрес, то получается
не $DE40 , а $D440. Я посмотрел файл бинарно, действительно, по $D440 лежит
TImageExportDirectory. Куда пропала разница $A00.

К чему прибавлять RVA?????

Устал гадать, а мозги ничего не подсказывают.

Help!!!
Спасибо.


 
Digitman ©   (2005-07-21 16:56) [1]


> Но если в качестве смещения выбрать просто линейный адрес


лин.адрес чего ?


 
Bobby   (2005-07-21 16:59) [2]

Линейный адрес файла (0-начало Size- конец)


 
Eraser ©   (2005-07-21 18:36) [3]

Bobby   (21.07.05 16:59) [2]

"Линейный адрес файла" тут не причём... по моему на wasm.ru есть статья по структуре PE... да и вообще в нете на эту тему много чего есть.


 
Leonid Troyanovsky ©   (2005-07-21 21:12) [4]


> Bobby   (21.07.05 16:28)  

> простых и ясных ответов на вопросы в которые уперся. Делов-то
> и всего :
> получить списки экспорта и импорта функций в DLL.


От:Peter Below (TeamB) (100113.1...@compuXXserve.com)
Заголовок:Re: How to extract exported function names from .DLL
Группы новостей:borland.public.delphi­.objectpascal
Число:2000/01/09

И на rsdn есть статьи. Кажись, Макса Гумерова

--
Regards, LVT.



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

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

Наверх




Память: 0.48 MB
Время: 0.023 c
2-1123309367
Андрей235
2005-08-06 10:22
2005.09.11
вывести в Caption или text integer переменную или string=integer


14-1124344432
Kot Andrei
2005-08-18 09:53
2005.09.11
Просто анекдот


14-1124106658
inic
2005-08-15 15:50
2005.09.11
Почти опрос. Какой музыкальный редактор вы бы посоветовали ?


14-1124004350
boriskb
2005-08-14 11:25
2005.09.11
Ищу романс "Я ехала домой"


11-1106815076
Неуловимый Джо
2005-01-27 11:37
2005.09.11
strlist в ListBox