Проблемка с Таблицей Адресов
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Проблемка с Таблицей Адресов - 2010-03-30 21:36:38.163333
|
|
|
ZETER
Сообщений: 127
Оценки: 0
Присоединился: 2010-01-18 21:11:03.490000
|
Доброго времени суток) Вот наткнулся на статью по переполнению буфера вроде все понятно только в одном месте не могу понять вот кусок статьи может кто мне подскажет Например, положим что таблица адресов функций, импортируемых из KERNEL32.DLL начинается в нашем PE-файле с адреса 0xe0d8 и содержит три функции - CloseHandle, CreateFileA и ExitProcess. Положим также, что Image Base нашего файла - 0x400000. Значит адрес процедуры CloseHandle будет находиться в загруженной программе по адресу 0x400000 + 0xe0d8 = 0x40e0d8, адрес CreateFileA - прямо за ним по адресу 0x40e0d8 + 4 = 0x40e0dc, и адрес ExitProcess - по адресу 0x40e0dc + 4 = 0x40e0e0. Где можно посмотреть таблицу адресов? открываю деасемблером и вижу вот ето import module 001 kernel 32.dll adr:0000223A hint(00CA) Name:GetCommandLineA и т.д. ето и есть таблица с адресами и какой тут адрес надо склабывать с image base проги чтобы получить тот где будет находится ета функция? или как ето определяется?
|
|
|
RE: Проблемка с Таблицей Адресов - 2010-03-31 19:21:41.430000
|
|
|
Sunzer
Сообщений: 253
Оценки: 31190
Присоединился: 2007-06-15 19:23:32.436666
|
В таблице экспорта есть, ординалы, RVA адреса и имя функции. Парси таблицу экспорта. Ищи нужное имя, смотри его порядковый номер, и такой же порядковый номер в таблице RVA + ImageBase = Адрес этой функции
|
|
|
RE: Проблемка с Таблицей Адресов - 2010-03-31 23:01:55.546666
|
|
|
ZETER
Сообщений: 127
Оценки: 0
Присоединился: 2010-01-18 21:11:03.490000
|
тоесть вот то что у меня написано adr:0000223A hint(00CA) Name:GetCommandLineA 0000223А и будет RVA адрес ?
|
|
|
RE: Проблемка с Таблицей Адресов - 2010-04-02 07:05:22.403333
|
|
|
Sunzer
Сообщений: 253
Оценки: 31190
Присоединился: 2007-06-15 19:23:32.436666
|
Да, прибавь ImageBase и будет виртуальный адрес функции.
|
|
|
RE: Проблемка с Таблицей Адресов - 2010-04-05 11:05:35.526666
|
|
|
ZETER
Сообщений: 127
Оценки: 0
Присоединился: 2010-01-18 21:11:03.490000
|
а складывать надо в прЯмом коде или какуойто адрес надо преобразовать там в обратный инверсный или дополнительный код?
|
|
|
|
|