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

 WASM Phorum —› WASM.RESEARCH —› Неувязка с восстановлением импорта

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


Дата: Янв 20, 2004 12:31:56

Решил попробовать распаковать програмку, защищенную ASProtect 1.23RC4. Для этого сжал им блокнот (windows XP)
Как полагается, нашел OEP, зациклил, сдампил
Дошло дело до таблицы импорта, ImpRec нашел практически все кроме трех точек
1.
007F14BC    mov eax,[7F7DF4]    // DWORD value: 00000868
007F14C1    retn


это как я понял переходник. Как бы его восстановить ручками?

2.
007F1000    push ebp
007F1001    mov ebp,esp
007F1003    mov edx,[ebp+C]
007F1006    mov eax,[ebp+8]
007F1009    mov ecx,[7F63FC]    // DWORD value: 007F6304
007F100F    mov ecx,[ecx]
007F1011    cmp ecx,eax
007F1013    jnz short 007F101E
007F1015    mov eax,[edx*4+7F6358]    // DWORD value: 00000000
007F101C    jmp short 007F1025


3.
007F1460    push ebp
007F1461    mov ebp,esp
007F1463    mov eax,[ebp+8]
007F1466    test eax,eax
007F1468    jnz short 007F147D
007F146A    cmp dword ptr [7F7A78],400000
007F1474    jnz short 007F147D
007F1476    mov eax,[7F7A78]    // DWORD value: 01000000
007F147B    jmp short 007F1483


К чему 2 и 3?
И еще вопросик - Почему после автотрассировки исследуемая программа закрывается? Это последствия ASProtect или глюк?


Дата: Янв 20, 2004 13:22:58

Почему после автотрассировки исследуемая программа закрывается?

Ясное дело, виснет, попробуй поставить проге приоритет пониже


Дата: Янв 20, 2004 13:29:42

Кстати пункт 3) похож на эмуляцию GetModuleHandleA ты просто не всю функцию привел там ещё после последнего jmp есть код до ret :-)


Дата: Янв 20, 2004 13:58:07

точно :) я малость подрезал ми в 2 и в 3. Неопытный же - вижу безусловный переход и режу наживую :)


Дата: Янв 20, 2004 14:02:16

Ясное дело, виснет, попробуй поставить проге приоритет пониже

спасибо, это помогло
теперь за главным дело ...


Дата: Янв 20, 2004 15:34:19

теперь за главным дело ...

А ты не тормози ;-) возьми свой не запакованный блокнот сними с него таблицу импорта с помощью Импрека в текстовый файл, то же самое проделай с запакованным, потом сравни два текстовых файла %)


Дата: Янв 20, 2004 23:37:59

chkalov
1) Какая-нить getcurrentprocess[id]
2) getprocaddress
3) getmodulehandlea

>Почему после автотрассировки исследуемая программа закрывается?
После запуска дампа или во время восстановления импорта?

Если совсем уж лениво, то - http://kpteam.com/index.php?show=tools


Дата: Янв 21, 2004 04:43:37

Madness
После запуска дампа или во время восстановления импорта?

После AutoTrace в ImpRec, но по совету товарищей и коллектива решение проблемы было найдено - исследуемая программа перестает закрываться при уменьшении приоритта задачи

Asterix
А ты не тормози ;-)

Ясен пень :), тока не всегда же есть незапакованная прога :)

Будем делать


Дата: Янв 21, 2004 05:05:23

Ясное дело, виснет, попробуй поставить проге приоритет пониже

Радость была преждевременной, понижение приоритета срабатывает где-то в 25% :(


Дата: Янв 21, 2004 05:14:46

Не пускай под трейс много функций сразу, лучше вообще не трейсить, начинай по очереди.. выбери сначала disasm, потом hook и т.д.


Дата: Янв 21, 2004 05:16:45

тока не всегда же есть незапакованная прога

Ну да, ну ты же учишься, а внешний вид проэмулированных API в дизассемблере будет почти одинаков для любых прог для одной версии Аспра.


Дата: Янв 21, 2004 05:21:23

начинай по очереди..

да я так и делаю:) сижу парюсь по немногу неспеша, а по ссылке данной madness как раз и лежит плугин для восстановления именно тех функций, что не опреелились, но ручками надо ручками :)


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