Ломаем 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".

Программа взломана. :-)