Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Реверсинг (https://forum.antichat.xyz/forumdisplay.php?f=94)
-   -   Как найти процедуру и выдрать код (https://forum.antichat.xyz/showthread.php?t=72460)

tekton 03.06.2008 01:49

Надо найти процедуру и выдрать код
 
Привет всем! Есть программа, телефонный менеджер. В ней штук 13 всяких функций (резервное копирование, синхронизация, создание фоновых рисунков, просмотр мультимедии...) Мне надо выдрать одну функцию. С чего начать? Как найти место откуда она начинает выполняться? Заранее спасибо.

desTiny 03.06.2008 10:42

//исходим из того, что программа не запакована
Допустим, то, 4то(ProTeuS, сорри :) ) ты называешь функцией, это код, выполняющийся по нажатию кнопки или пункта меню. Тогда в программе этот код выполняется в основной оконной процедуре при wParam=WM_COMMAND и lParam=ID этой кнопки или меню(id кнопки или айтема меню можно посмотреть в ресурсах Restorator'ом, ResHack'ом и т.п., если ре4ь не идёт о делфе)
Зна4ит твои действия - дойти в отлад4ике до создания окна (либо вру4ную, либо поставив бряк на CreateWindowEx, DialogBoxParam, DialogBoxIndirectParam), посмотреть, 4то передаётся им в параметре wndproc, и посмотреть на код по этому адресу. Там находишь (в OllyDbg это после анализа написано в комментарии) сравнение с WM_COMMAND, внутри кода обработки WM_COMMAND находишь сравнение с ID тебя интересующим. Вот после него и идёт обработка нажатия на айтем.

PS Это 4исто формально для общего слу4ая, в конкретных слу4аях можно придумать 4то-нибудь по-проще.;)

BlackSun 03.06.2008 11:26

И в дополнение можно тебя расстроить, тупой копипаст не прокатит)) Рипнутый код придеццо обрабатывать напильником

neprovad 04.06.2008 09:38

Напильником может послужить плагин для Ollydbg - Coderipper (поправьте меня если не так написал). В последний раз видел в подборке плагов с http://reversengineering.wordpress.com/ , но думаю можно и так найти отдельным файлом.

ProTeuS 04.06.2008 11:10

то, 4то посоветовал neprovad, TMG Ripper Studio, IDA + MASM = выдрать можно абсолютно все


Время: 04:46