![]() |
eXeL@B —› Основной форум —› Директория импорта |
Посл.ответ | Сообщение |
|
Создано: 04 декабря 2005 15:07 · Личное сообщение · #1 Значит вопрос возник при распаковке. А именно,в некоторых случаях некоторых протекторов IAT лежит целая в какой-нибудь секции типа .rdata, а необходимо только восстановить переходники к этой IAT,расположенные в секции кода. Понятно,что в такой ситуации можно не восстанавливать импорт с помощью ImpRec(добавление в конец файла новой секции), а просто с помощью PE Editor'а выставить правильные директории импорта и таблицы адресов этого импорта. Так вот если с Import Address Table вроде всё понятно,то что же надо выставлять в поле Import Directory(какой адрес,размер)?? ----- the Power of Reversing team ![]() |
|
Создано: 04 декабря 2005 16:39 · Личное сообщение · #2 |
|
Создано: 04 декабря 2005 16:52 · Личное сообщение · #3 TOG пишет: Если все девственно, то ImportDirectoty идет сразу за IAT а разве Import Directory не включает в себя iat ? =) TOG пишет: размер ImportDiectory = 5*DWORD*(кол-во импортируемых dll)+(8 нулей) это размер структуры IMAGE_IMPORT_DESCRIPTOR DillerInc пишет: что же надо выставлять в поле Import Directory(какой адрес,размер)?? адрес - начало IMAGE_IMPORT_DESCRIPTOR, размер... гм с размером проблем не замечал в большинстве (а может и во всех) случаях он не важен, хотя это уже просто моё имхо. А вообще про IT и т.п. читай в описание PE формата или статьях "об упаковщиках..." на васме. ![]() |
|
Создано: 04 декабря 2005 19:26 · Личное сообщение · #4 В общем-то,при помощи hex-редактора,одного достоверного примера для сравнения,статьи на васме,а также в какой-то мере научного тыка - я походу разобрался ![]() В моём случае(это был дампы исполняемых файлов,защищённых Securom четвёртой версии) получилось так: * Import Address Table RVA = 0000D000 Size = 228 * Import Directory RVA = 0000DF68 Size = C8 ...т.е. директория импорта находилась после IAT(всегда ли так?). Значит насколько я понял,директорию импорта можно описать как своего рода массив структур IMAGE_IMPORT_DESCRIPTOR,каждая из которых состоит из пяти DWORD'ов и характеризует конкретную импортированную библиотеку.В конце же у меня находилось пять нулевых DWORD'ов,которые я приплюсовал ко всей остальной сумме и получил в конце концов размер этой директории. Походу так. ----- the Power of Reversing team ![]() |
![]() |
eXeL@B —› Основной форум —› Директория импорта |