Форум: "WinAPI";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];
ВнизОпять 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 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c