Исследование 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


Материалы находятся на сайте http://cracklab.narod.ru/doc/






Hosted by uCoz