Rambler's
Top100

Исследование защиты PEStudio 3.21

Автор: FEUERRADER
Дата: 12.05.2003
Раздел: Reverse Engineering


Взлом PEStudio
  Программа: PEStudio 3.21
     Размер: 159744 байта
       Язык: Microsoft Visual C++ 6.0
     Защита: имя/код
       Цель: взлом
Инструменты: Win32Dasm 8.9, Hiew 6.x, SoftIce 4.05

Описание: PE Studio предназначена для промотра и редактирования заголовка исполняемого файла формата РЕ. Иногда полезна крякеру. В начале вылазит простенький наг-скрин. Регистрация через имя-код. Вообщем, все как обычно :((

Исследование: в принципе в программе нет ограничений, поэтому можно воспользоваться банальным взломом через изменение условных переходов. Хотя можно получить регистрационный номер прямо в SoftIce (проверено), но сейчас мы займемся не поиском серийного номера для вашего имени, а взломом.
Итак, суем в Win32Dasm файл pestudio.exe. Открываем Dialog References, там "DialogID_007A, CONTROL_ID:0434, "Order PE Studio online". Видим такое:

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040D510(C)
|
:0040D5BF 56                      push esi

* Reference To: USER32.GetDlgItem, Ord:0102h
                                  |
:0040D5C0 8B35CC814100            mov esi, dword ptr [004181CC]
:0040D5C6 6814A34100              push 0041A314

* Possible Reference to Dialog: DialogID_007A,
                      CONTROL_ID:0434, "Order PE Studio online"
                                  |
:0040D5CB 6834040000              push 00000434

Идем по адресу 40D510. Парой экранов вверх видим:

* Referenced by a CALL at Address:
|:004085C0   
|
:0040D4D3 A01C244200              mov al, byte ptr [0042241C]
:0040D4D8 84C0                    test al, al
:0040D4DA 7409                    je 0040D4E5
:0040D4DC 803D1D24420000          cmp byte ptr [0042241D], 00
:0040D4E3 751A                    jne 0040D4FF

Сейчас можно войти в отладчик, поставить бряк на 40D4D3. Заменить переходы 40D4DA, 40D4E3 на противоположные. Тогда Вы больше не увидите навязчивого окна при запуске программы. Но подождите првить файл. Остался пункт меню о регистрации. Смотрим, откуда вызывается 40D5BF:

:0040856E B854754100              mov eax, 00417554
:00408573 E868580000              call 0040DDE0
:00408578 83EC20                  sub esp, 00000020
:0040857B A01C244200              mov al, byte ptr [0042241C]
:00408580 84C0                    test al, al
:00408582 741A                    je 0040859E
:00408584 6A00                    push 00000000

* Possible Ref to Menu: MenuID_0066, Item: "Registration"
                                  |

* Possible Reference to Dialog: DialogID_0077, CONTROL_ID:9C4D, "&Register"
                                  |
:00408586 684D9C0000              push 00009C4D
:0040858B FF3530254200            push dword ptr [00422530]

* Reference To: USER32.GetMenu, Ord:011Ch
                                  |
:00408591 FF1508824100            Call dword ptr [00418208]
:00408597 50                      push eax

* Reference To: USER32.DeleteMenu, Ord:0087h
                                  |
:00408598 FF1500824100            Call dword ptr [00418200]

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00408582(C)
|
:0040859E 807D0800                cmp byte ptr [ebp+08], 00
:004085A2 742D                    je 004085D1
:004085A4 8D4DD4                  lea ecx, dword ptr [ebp-2C]
:004085A7 E8674D0000              call 0040D313
:004085AC C745D4DC8D4100          mov [ebp-2C], 00418DDC
:004085B3 FF3530254200            push dword ptr [00422530]
:004085B9 8365FC00                and dword ptr [ebp-04], 00000000
:004085BD 8D4DD4                  lea ecx, dword ptr [ebp-2C]
:004085C0 E80E4F0000              call 0040D4D3
:004085C5 834DFCFF                or dword ptr [ebp-04], FFFFFFFF
:004085C9 8D4DD4                  lea ecx, dword ptr [ebp-2C]
:004085CC E8B84E0000              call 0040D489

О, то что нам нужно! Вызова функции 4085C0 можно избежать, если изменить переход 4085A2 на безусловный. Смотрим выше: также изменяем 408582 так, чтобы он не выполнился и исчез пункт меню "Registration". Вот и всё, больше нет ни единого напоминания о регистрации!

Crack:
========вырежь=тут=========
Difference(s) between pestudio.exe & cracked.exe
PESTUDIO.EXE
00008583: 1A 00
000085A2: 74 EB
========вырежь=тут=========

Спасибо за интерес к этой статье!



Все права защищены ©  2003 
...::FEUERRADER::...




Rambler's Top100