· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.RESEARCH —› Только для спецев! ImpREC.dll

Посл.отвђт Сообщенiе


Дата: Июл 20, 2004 11:58:52

Существует в сети две версии ImpREC.dll. Версия 1.0, что идет с GUW32 и 1.1 *light*, которая лежит на сайте MackT.

В отличие от первой 1.0 в 1.1 есть для вызова целых 3 функции вместо одной.
http://wave.prohosting.com/mackt/projects/imprec/ImpREC_lite_v11.zip

- DWORD SetModule(DWORD pid, DWORD base);

+ <pid> : PID of the process
+ <base> : VA of the base of the module

- void LogIATEntry(DWORD rva_iat_slot, DWORD va_api);

+ <rva_iat_slot> : RVA of the slot (IAT)
+ <va_api> : VA of the resolved API

- DWORD MakeImportTable(LPTSTR dump_filename);

+ <dump_filename> : Filename of the dump to fix

И к сожалению больше нифига нет в описании функций и их работы!

Может найдутся просветленные, каким макаром юзать эти функции. В какой последовательности и т.д.

Если просто сделать типа вызовы для некого дампа и его активного процесса:
SetModule(mypid,0x400000);
MakeImportTable("mydump.exe");
то возвращается ошибка и т.д.
Кто что подскажет?


Дата: Июл 20, 2004 12:12:12

Приписка "Только для спецев!" однозначно радует :)
Никогда в глазане видел этой dll, но если логически подумать, то между SetModule() и MakeImportTable() таки следует вызывать LogIATEntry() совать в нее RVA всех IAT чанков и соответствующие им реальные адреса функций. Все остальное придется делать ручками ибо это и есть *lite* версия, а если хочется что оно все само попробовало сделать - надо таки брать 1.0


Дата: Июл 20, 2004 12:46:27

Фу, ну и беспредел :) А я думал оно само всё сделает.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.057