Сейчас на форуме: ut2004, vsv1 (+8 невидимых)

 eXeL@B —› Вопросы новичков —› Функции пакера в директории импорта
Посл.ответ Сообщение

Ранг: 19.0 (новичок)
Активность: 0.010
Статус: Участник

Создано: 30 ноября 2006 10:52 · Поправил: amely
· Личное сообщение · #1

В запакованной проге нашел ОЕП, сдампил, запускаю ImpRec и пытаюсь востановить импорт, НО - в таблице импорта есть нераспознаное апи. После некоторого анализа имеем:

1. ОЕП упаковщика - 00401000
2. ОЕП проги - 004E1CD4

К моменту входа в оригинальный ОЕП, упаковщик свое дело сделал и по адресу 003F0148 есть некоторая функциональность и вот етот адрес прописывается в таблицу импорта как импортируемая функция!. Потом в оригинальной проге идет обращение к этому адресу.

Проблема: после распаковки и смены ОЕП на 004E1CD4, в таблице импорта есть ссылка на адрес 003F0148, который существует только после работы пакера . Как функциональность по этому адресу перенести в распакованный код?

Таблица импорта
***
1 000E6208 kernel32.dll 01CD GetThreadLocale
1 000E620C kernel32.dll 01AD GetStartupInfoA
0 000E6210 ? 0000 003F0148
1 000E6214 kernel32.dll 0176 GetModuleHandleA
1 000E6218 kernel32.dll 0174 GetModuleFileNameA
***

Программа:
00407708 $-FF25 8C634E00 JMP DWORD PTR DS:[4E638C] ; kernel32.GetModuleHandleA
0040770E 8BC0 MOV EAX,EAX
00407710 $-FF25 88634E00 JMP DWORD PTR DS:[4E6388] ; 003F0148
00407716 8BC0 MOV EAX,EAX
00407718 $-FF25 84634E00 JMP DWORD PTR DS:[4E6384] ; kernel32.GetProfileStringA



Ранг: 19.0 (новичок)
Активность: 0.010
Статус: Участник

Создано: 30 ноября 2006 13:16
· Личное сообщение · #2

Уже сам все сделал. Проанализировал код по адресу 003F0148 и как результат пакер запихал полностю код kernel32.GetProcAddress туда, тоесть делал инлайн линкеровку этой функции.


 eXeL@B —› Вопросы новичков —› Функции пакера в директории импорта
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати