Вобщем хочется поинтересоваться как работает ImpRec. Как определяется адрес IAT исходя из OEP? Мне представляется, что после нажатия на кнопку Get Imports просходит сканирование от OEP и поиск инструкций вида CALL DWORD PTR [XXX] либо CALL YYY;JMP DWORD PTR [XXX]. После нахождения хотя бы одного такого вызова для конкретной DLL можно видеть, адрес внутри IAT найден, а т.к. все IMAGE_THUNK_DATA's в теории должны быть смежными, чтобы не разбухивать размер, то банально пройдясь вверх по адресам, проверяя определенные условия можно получить начало IAT. Размер можно получить также сканируя по адресам вверх и сравнивая определенные условия. Условиями могут быть принадлежность DWORD выделенному адресу процесса или просто возможность чтения-записи. Валидность импорта может определяться исходя из самих адресов и сравнением их с экспортом модулей загруженных в адресное пространство процесса. Get API Calls тоже понятно - сканирование определенных по переходам/аттрибутам регионов кода и получение всех CALL [XXX]/CALL XXX инструкций и их анализ как было описано выше. Интересуют опции Trace Level X. Зачем вообще нужна трассировка. Я понимаю, что для анализа невалидных найденных вхождений, но как это работает? Что делает каждый из уровней трассировки? Спасибо.
Доку к нему почитай, там кое-что есть, тулса эта для сложных случаев, вероятно такие не нужны и хватит сорсов ollydump.
Неправда. 3 default tracers (disasm, hook & ring3) to find APIs in redirected code Use the "Show Invalid" button to see all unresolved slots. You will need to trace into them to find the real API. Always try the Tracer Level1 first because it does not execute any code of the target. Трассировка нужна для восстановления импорта после "продвинутых" протекторов. Судя по твоим соседним топикам тебе надо не это и хватит алгоритма выше.
J0E И что тут написано про трассировку? Или ты думаешь что объяснение достаточно? Я просил описать случаи изнутри, а не писать общими фразами. Уже не требуется, мне помогли на краклаб.
Опс, не угадал. Откуда узнать, что достаточно? Полное воссоздание алгоритма? вряд ли кто возьмется, проще написать свой. На краклабе отправили дальше доки читать, потому ссылки и нет