Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.46 MB
Время: 0.01 c
3-1122993594
Sergei9
2005-08-02 18:39
2005.09.11
формат поле


5-1098516662
kaif
2004-10-23 11:31
2005.09.11
TAllegroMDIBar: проблема с сообщением WM_GETTEXT под "стилем XP"


1-1124664801
chitak
2005-08-22 02:53
2005.09.11
kak obrashatsya k etoy procedure?


3-1122397417
pasha_golub
2005-07-26 21:03
2005.09.11
Cached updates. To be or not to be?


1-1124560588
SpyBoy
2005-08-20 21:56
2005.09.11
Listbox_&_ProgressBar





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский