Главная страница
    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.45 MB
Время: 0.01 c
2-1123618797
ronyn
2005-08-10 00:19
2005.09.11
Разобраться с координатами курсора.


1-1124783767
user51
2005-08-23 11:56
2005.09.11
как проеобразовать string к pwidechar


1-1124713168
_Landgraf_
2005-08-22 16:19
2005.09.11
Загрузка файла


3-1122909888
ArchValentin
2005-08-01 19:24
2005.09.11
Сохранение информации из DBGrid


14-1124434416
Jeer
2005-08-19 10:53
2005.09.11
Влияет ли фамилия на принципы ? :)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский