Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 12 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Исследование PowerZip

Обсудить статью на форуме

Хорошая подборка видеоуроков, инструментов крэкера, книг и статей - здесь.

Автор: -=SouL=- <art_a@bk.ru>

Tools:
Symbol Loader
W32Dasm ver 8.93
QView 2.80
Beer or Coffee на любителя

Жертва:
Удобно встраиваемый в Windows архиватор, поддерживающий работу с форматами Zip, Cab, Arj, распаковку форматов RAR, TAR, Z, GZ, LZH и ACE. Поддерживает механизм Drag-n-Drop, тестирование архивов, имеет удобного мастера. Теперь работает с макросами.www.tridentsw.com/powerzip

Приступим.....
Программу можна зарегистрировать двумя способами:
1. Найти "Registration Product Key".
2. Пропатчить.
Мне было в лом искать ключь, поэтому я решил пойти вторым путем. При запуске программы выскакивает окошко - сколько нам осталось use программу ну и всякая другая ерунда.

1. Убираем "наглое" окошко.

Запустим программу с помощью Symbol Loader(из пакета NuMega SoftIce), чтобы оказаться в самом начале программы. Окажемся мы тутоньки:

 
 :00519965 6AFF                   	       push FFFFFFFF
 :00519967 68D8565900                       push 005956D8
 :0051996C 681E9B5100                       push 00519B1E
 :00519971 64A100000000                     mov eax, dword ptr fs:[00000000]
 :00519977 50                      	       push eax
 :00519978 64892500000000                   mov dword ptr fs:[00000000], esp
 :0051997F 83EC68                           sub esp, 00000068
 
Незаходя в CALLы скролим вот до цюда:
 :00519A8A FF1534115900                     Call dword ptr [KERNEL32.GetModuleHandleA]
 :00519A90 50                               push eax
 :00519A91 E8E61C0600                       call 0057B77C
//подозрительная функция
 :00519A96 894598                            mov dword ptr [ebp-68], eax
 :00519A99 50                                push eax
 
Заходим в Call 0057B77C:
 |:00519A91
 |
 :0057B77C FF742410                push [esp+10]
 :0057B780 FF742410                push [esp+10]
 :0057B784 FF742410                push [esp+10]
 :0057B788 FF742410                push [esp+10]
 :0057B78C E823050000              Call 0057BCB4
 :0057B791 C21000                  ret 0010
 
Зайдемка в Call 0057BCB4:
 :0057BCB4 FF25881E5900                Jmp dword ptr [00591E88]
 :0057BCBA CC                          int 03
 :0057BCBB CC                          int 03
 :0057BCBC CC                          int 03
 
Идем на адресс 00591E88, но мы на этот адресс не попадем, а попадем мы вот куда(листинг взят из айса):
 :5F409958		 PUSH  EBX
 :5F409959		 PUSH  ESI
 :5F40995A		 PUSH  EDI
 :5F40995E		 OR    EBX, -01
 :5F409963		 CALL  5F40110F
 :5F409965		 PUSH  DWORD PTR [ESP+1C]
 ---------------SKIP---------------------------------
 :5F40999C		 CALL   [EAX+58]
 :5F40999F		 TEST   EAX, EAX
 :5F4099A1		 JZ     5F4099B9
//если прыгнем, то больше не увидим до боли знакомого окошка
 :5F4099A3		 MOV    EAX, [ESI]
 :5F4099A5		 MOV    ECX, ESI
 :5F4099A7		 CALL   [EAX+5C]
 
Открываем QView находим нужные байтики и патчим их.
Было:
  JZ           5F4099B9
 Стало:
  JMP        5F4099B9
Все!!! Окошка мы больше не увидим. Самое главное позади.

2. Пропатчим байтики, так, чтобы в Help--->About PowerZip было не "evalution period", а "Registered to"

Заходим в Help--->About PowerZip и видим такие строки "This is an EVALUATION copy of PowerZip." - запишим их. Открываем программу в W32Dasm. Ищем строчку(которую мы записали), находим ее:

 :00506265 80FA44             cmp dl, 44
 :00506268 7426               je 00506290
 :0050626A FF1538245900       Call dword ptr [00592438]
 :00506270 50                 push eax
 :00506271 8D866C020000       lea eax, dword ptr [esi+0000026C]
 
* Possible Reference to String Resource ID=05028: "This is an EVALUATION copy of PowerZip.You are on day %1!u"
 
 :00506277 68A4130000           push 000013A4
 :0050627C 50                   push eax
 
Как вы уже наверное поняли нам надо прыгать по адрессу 00506268. Открываем QView опять находим нужные нам байтики и патчим их.
 Было
  je    00506290
 Стало
 JMP    00506290

Вот и все. Теперь мы "Registered to:"

P.S Можно зарегистрировать программу - не на одну копию, а на три копии( Help--->About PowerZip-->is licensed to use up to 3 copies of PowerZip). Это будет вашим (легким) домашним заданием.

P.S. Запомните все материалы публикуются только в учебных целях и автор за их использование ответственности не несет!!

-=SouL=-
art_a@bk.ru
http:/mobyle-hack.boom.ru

Обсуждение статьи: Исследование PowerZip >>>


Материалы находятся на сайте https://exelab.ru



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS