Ломаем Hide Files Folders
Автор......: FERRARI
Перевод....: NightCat
Инструменты: OllyDbg, File Securer (grinders.withernsea.com/tools/hff.rar)
Взлом этой программы очень похож на взлом SystemMechanic 4.
Шаги:
1) Открываем файл в Olly и приземляемся вот тут:
004A552C > $ 55 PUSH EBP
2) Правый клик-->Search For-->All Referenced Text strings.
3) В появившемся окне - Правый клик-->search for text-->Вводим:
'The registration code is incorrect'
Когда найдёте эту строку, то двойной клик по ней и приземляемся тут:
0049AC7F |. B8 F0AC4900 MOV EAX,HFF.0>; |ASCII "The registration code is incorrect."
4) Скроллим вверх пока не увидим:
0049AC4C |. E8 33F5FFFF CALL HFF.0049A184
0049AC51 |. 84C0 TEST AL,AL
0049AC53 |. 74 1F JE SHORT HFF.0049AC7>
Если "JE" прыгает, то мы получаем плохое сообщение. JE(jump if zero) сработает при
"AL == 0". Это зависит от возврата процедуры по адресу '0049A184'.
5) Выбираем адрес '0049AC4C' и жмём Enter,чтобы зайти в процедуру:
0049A184 /$ 55 PUSH EBP
Эта процедуру проверяет парамерт - "IsHFFRegistered" и "IsHFFRegistrKeyValid",
а всё это расоположено вот тут
"HKEY_LOCAL_MACHINE\SOFTWARE\Hide Files and Folders\Settings
Всегда, когда вызывается эта процедура - должно возвращаться правудивое значение.
Ставим брейкпоинт на этот адрес. Запускаем программу. Клик... и Olly прерывается.
Обратите внимание на регистр "EDX". :-)
6) Трейсимся с F8 пока вот такое не обнаружим:
0049A1C0 /0F85 A4000000 JNZ HFF.0049A26A
Мы видим, что этот JNZ прыгает на '0049A26A', если программа не зарегана.
Так что скроллим вниз до '0049A26A' и вот что замечаем:
0049A268 |. B3 01 MOV BL,1
0049A26A |> 33C0 XOR EAX,EAX<-------Вот сюда НЕ НАДО прыгать.
7) Если прога зарегана, т.е. если серийник подходит, то вот эти "JNZ" НЕ БУДУТ
выполнены:
0049A1C0 |. /0F85 A4000000 JNZ HFF.0049A26A
0049A201 |. /75 67 JNZ SHORT HFF.0049A26A
0049A212 |. /75 56 JNZ SHORT HFF.0049A26A
и выполнится вот этот код:
0049A268 |. B3 01 MOV BL,1 <----Чтобы сломать прогу нам нужно
прыгнуть сюда.
Ну и JE по адресу '0049AC53' не будет выполнен, т.к. Al == 1.
8) Итак, чтобы сломать программу нам нужно:
0049A1C0 |. /0F85 A4000000 JNZ HFF.0049A26A
Заменить на:
0049A1C0 /0F85 A2000000 JNZ HFF.0049A268
9) Теперь сохраняем изменения. Правый клик->/copy to executable/all modifications/copy all, затем правый клик и save file, заменяем "HFF.exe".
Программа взломана. :-)