Исследование DVD Ripper 1.3.25

Перейти на главную страницу, индексную страницу, гостевую страницу.


Автор: Gen0cide // REVENGE <gen0cide@nm.ru>

Программа: #1 DVD Ripper 1.3.25
Язык: Microsoft Visual C++ 6.0
Защита: Имя/Код

Инструменты: Win32Dasm, Hiew

Вступление

Я решил написать статью для новичков, которые еще не разобрались с SoftIce'ом, но хотят что-нибудь взломать. Опытных попрошу не читать данную статью, а то еще помрете со смеху. Хотя мы все были когда-то начинающими... И еще, это моя первая статья, не судите строго.

Описание

Обычный DVD ripper, cтоимостью 34.95 американских рубля, которых как говна в сети.

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

Засунем exe'шник в Win32Dasm и поищем какой-нибудь бред про регистрацию. Мне бросилась в глаза строка “License To: %s”
* Possible StringData Ref from Data Obj ->"License To: %s"
|
:0040BEAB 6820FB4C00 push 004CFB20
:0040BEB0 55 push ebp

* Reference To: MFC42.Ordinal:0B02, Ord:0B02h
|
:0040BEB1 E8E4C00800 Call 00497F9A
:0040BEB6 83C40C add esp, 0000000C

Посмотрим выше...

* Reference To: MFC42.Ordinal:035C, Ord:035Ch
|
:0040BE55 E868C00800 Call 00497EC2
:0040BE5A 8D4C240C lea ecx, dword ptr [esp+0C]
:0040BE5E 51 push ecx
:0040BE5F E8FC68FFFF call 00402760
:0040BE64 8D542414 lea edx, dword ptr [esp+14]
:0040BE68 C644244408 mov [esp+44], 08
:0040BE6D 52 push edx
:0040BE6E E8AD69FFFF call 00402820
:0040BE73 8B442418 mov eax, dword ptr [esp+18]
:0040BE77 8B4C2414 mov ecx, dword ptr [esp+14]
:0040BE7B 50 push eax
:0040BE7C 51 push ecx
:0040BE7D C644245009 mov [esp+50], 09
:0040BE82 E8596BFFFF call 004029E0 <<Процедура проверки>>
:0040BE87 83C410 add esp, 00000010
:0040BE8A 85C0 test eax, eax
:0040BE8C 742B je 0040BEB9 <<Если в регистре eax 0, то прыгаем>>
:0040BE8E 8D542434 lea edx, dword ptr [esp+34]
:0040BE92 8BCF mov ecx, edi
:0040BE94 52 push edx

* Reference To: MFC42.Ordinal:035A, Ord:035Ah
|
:0040BE95 E87EC10800 Call 00498018

* Possible StringData Ref from Data Obj ->"(Full Version)"
|
:0040BE9A 6830FB4C00 push 004CFB30
:0040BE9F 8BCF mov ecx, edi

Взлом

Для регистрации программы нам достаточно зайти в процедуру проверки и изменить значение регистра eax, чтобы он всегда был равен 1.
* Referenced by a CALL at Addresses:
|:00406A4F , :00408D2C , :004096CD , :0040BE82 , :0040DA10
|
:004029E0 6AFF push FFFFFFFF
:004029E2 68C99B4900 push 00499BC9
:004029E7 64A100000000 mov eax, dword ptr fs:[00000000]
:004029ED 50 push eax
:004029EE 64892500000000 mov dword ptr fs:[00000000], esp
:004029F5 81EC94000000 sub esp, 00000094
:004029FB 8B8424A4000000 mov eax, dword ptr [esp+000000A4]
:00402A02 53 push ebx
:00402A03 56 push esi
:00402A04 50 push eax
:00402A05 8D4C2410 lea ecx, dword ptr [esp+10]
:00402A09 C74424607FB1FD84 mov [esp+60], 84FDB17F
:00402A11 C744246454BBC162 mov [esp+64], 62C1BB54
:00402A19 C7442468FA319074 mov [esp+68], 749031FA
:00402A21 C744246CAD4972C7 mov [esp+6C], C77249AD
:00402A29 C744247033BF9972 mov [esp+70], 7299BF33
:00402A31 C7442474BD05D7D7 mov [esp+74], D7D705BD
:00402A39 C7442478A4821B13 mov [esp+78], 131B82A4
:00402A41 C744247CDD7EE760 mov [esp+7C], 60E77EDD
Для этого открываем exe'шник в Hiew и вводим 33C040C3, поясняю:

xor eax, eax - 33C0 <<обнуление eax>>
inc eax - 40 <>
ret - С3 <<выход из процедуры>>

Должно получиться вот так:
* Referenced by a CALL at Addresses:
|:00406A4F , :00408D2C , :004096CD , :0040BE82 , :0040DA10
|
:004029E0 33C0 push FFFFFFFF
:004029E2 40C39B4900 push 00499BC9
:004029E7 64A100000000 mov eax, dword ptr fs:[00000000]
:004029ED 50 push eax
:004029EE 64892500000000 mov dword ptr fs:[00000000], esp
:004029F5 81EC94000000 sub esp, 00000094
:004029FB 8B8424A4000000 mov eax, dword ptr [esp+000000A4]
:00402A02 53 push ebx
:00402A03 56 push esi
:00402A04 50 push eax
:00402A05 8D4C2410 lea ecx, dword ptr [esp+10]
:00402A09 C74424607FB1FD84 mov [esp+60], 84FDB17F
:00402A11 C744246454BBC162 mov [esp+64], 62C1BB54
:00402A19 C7442468FA319074 mov [esp+68], 749031FA
:00402A21 C744246CAD4972C7 mov [esp+6C], C77249AD
:00402A29 C744247033BF9972 mov [esp+70], 7299BF33
:00402A31 C7442474BD05D7D7 mov [esp+74], D7D705BD
:00402A39 C7442478A4821B13 mov [esp+78], 131B82A4
:00402A41 C744247CDD7EE760 mov [esp+7C], 60E77EDD
Прога зарегистрированна! Можете ввести в регистрационном диалоге свое имя, чтобы оно отображалось в About'е.

P.S. Взлом аналогичен взлому, описанному в статье "Исследуем защиту PDF2HTML 1.5" от TITBIT'а. Мне было лень печатать и половину я перекопировал оттуда, TITBIT не обижайся. ;)


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






Hosted by uCoz