
09.01.2007, 23:51
|
|
Постоянный
Регистрация: 20.08.2006
Сообщений: 327
Провел на форуме: 2472378
Репутация:
1077
|
|
hiddCrackMeImp
CrackMe: hiddCrackMeImp
Цель: найти последовательность действий для регистрации
Сложность: средне
Решение:
Запускаем, видим функцию. Нужно зайти, тк лично у меня по f8 прога упала.
Код:
00401BB7 > E8 16000000 CALL HidCreck.00401BD2
Трейсим, функция преобразовывается налицо. И получается следующий цикл который тоже что то расшифровывает.
Код:
00401BE2 8D41 FF LEA EAX,DWORD PTR DS:[ECX-1]
00401BE5 83E0 0F AND EAX,0F
00401BE8 8A0428 MOV AL,BYTE PTR DS:[EAX+EBP]
00401BEB 30040E XOR BYTE PTR DS:[ESI+ECX],AL
00401BEE ^E2 F2 LOOPD SHORT HidCreck.00401BE2
Пройдя этот цикл и mov следующий за ним переж нами появится ret.
Пройдя его, мы идём дальше. И после прохода следующей функции
Код:
00401009 E8 02040000 CALL HidCreck.00401410
,мы видим, что подгружаются новые библиотеки. Это даёт нам право предполагать, что внутри лежит загрузчик и импортёр апи. Перезапускаемся и заходим в функцию. Поанализировав её, мы замечаем следующие строки:
Код:
0040143E 66:8338 8B CMP WORD PTR DS:[EAX],0FF8B
00401442 75 03 JNZ SHORT HidCreck.00401447
Если первые байты апи mov edi,edi (0FF8B), то они пропускается, что дезориентирует Олю. Просто перебиваем условный на безусловный переход. И ставим бряк на cmp. Жмём f9, в eax появляются загружаемые функции. Ищем что-нибудь подозрительное. И находим))).
Код:
EAX 77D48666 user32.RegisterHotKey
Единственная функция получения данных)). И слава Богу)) Далее я полез в Executable Modules (Ctrl-E) > user32.dll > ctrl-N > RegisterHotKey. Ставим бряк на первый байт. F9. Сработало моментально:
Код:
0006F848 00401BB5 /CALL to RegisterHotKey from HidCreck.00401BB0
0006F84C 003204CE |hWnd = 003204CE (class='HiddenClass')
0006F850 00000001 |HotKeyID = 1
0006F854 00000007 |Modifiers = MOD_ALT|MOD_CONTROL|MOD_SHIFT
0006F858 00000075 \Key = VK_F6
Нужно нажать Ctrl-Alt-Shift-F6. Жмём в Olly F9, и полученную комбинацию в окне крякмиса. И снова брякаемся на апи.
Код:
0006FD80 00401BB5 /CALL to RegisterHotKey from HidCreck.00401BB0
0006FD84 003204CE |hWnd = 003204CE (class='HiddenClass')
0006FD88 00000001 |HotKeyID = 1
0006FD8C 00000007 |Modifiers = MOD_ALT|MOD_CONTROL|MOD_SHIFT
0006FD90 00000072 \Key = VK_F3
Нужно нажать Ctrl-Alt-Shift-F3.
Код:
0006FD80 00401BB5 /CALL to RegisterHotKey from HidCreck.00401BB0
0006FD84 003204CE |hWnd = 003204CE (class='HiddenClass')
0006FD88 00000001 |HotKeyID = 1
0006FD8C 00000007 |Modifiers = MOD_ALT|MOD_CONTROL|MOD_SHIFT
0006FD90 00000077 \Key = VK_F8
Нужно нажать Ctrl-Alt-Shift-F8
Код:
0006FD80 00401BB5 /CALL to RegisterHotKey from HidCreck.00401BB0
0006FD84 003204CE |hWnd = 003204CE (class='HiddenClass')
0006FD88 00000001 |HotKeyID = 1
0006FD8C 00000007 |Modifiers = MOD_ALT|MOD_CONTROL|MOD_SHIFT
0006FD90 00000074 \Key = VK_F5
Нужно нажать Ctrl-Alt-Shift-F5
Ну вот!! registred))
Лично мой путь был более длинным(( Я ставил бряк на CreateWindowExA, искал функцию окна, там нашол сравнение при получении uMsg равного 111h и ток потом до меня допёрло, для чего нужна была эта функция. Я просто не ждал, что регистрация будет проходить так необычно))
|
|
|