Контакты

Для связи с нами можно использовать:
irc://irc.chatnet.ru:#gfs
icq://546460
email://cobalt[@]gfs-team.ru

Все материалы предоставлены только с ознакомительной целью
ГлавнаяСтатьиКрэкингВзлом Audio Companion
© outlaw 08.12.2007

Программа: Audio Companion
Сайт программы:
Программа написана на: Microsoft Visual C++ 7.0
Автор: out1aw
Инструменты: ollydbg
На предмет: нахождения кода и обход кода

[Способ №1]

Привет всем.И так я начинающий в крэкинге поэтому прошу прощения за некоторые ошибки которые я могу допустить в ходе исследования. Программа Audio Companion требует за регистрацию $29.95 US, для регистрации надо ввести код, серийник, но вот проблема не пароля и не серийника нету, остается гадать? или получить за 29.95 баксов код. Но я вам расскажу, как я сломал программу, двумя сособами. Первый способ это замена интсрукции JE на NOP. (NOP - озночает нет операции.). Первом делом я запустил программу, и открыл опцию пароля ввел 12324 и нажал ок, тут как тут сообщение о неправильном коде (пароле). Запустив ollydbg я решил найти это сообщение, за одно и код проверки пароля. Но как оказалось, я его не нашел, оставалось у меня только одно, это поставить Breakpoints(точка останова программы).В Commandbar я написал BPX messageboxa, и нажал Enter и затем F9 тем самым запустив программу из отладчика. Сразу же я оказался в отладчике потому что сработал брэкпоинт, как оказалось это лишний и я его удолил.Перезагрузив отладчик (Ctrl+F2), я опять нажал F9, после того как программа загрузилась, я открыл опцию пароля и ввел 123 и нажал ок, и тут я попал на строку вызова сообщения о неправильном пароле:

00404C64   . FF15 3CE44300  CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; 
            \\ MessageBoxA - место где вызывается сообщение о неправильном пароле,
            \\ вызов осуществляется спомощью CALL.

После этого я решил найти где происходит проверка, пролистав чуть чуть код на верх я сразу обратил внимание на test eax, eax ( Команда test используется для сравнения значения регистра с 0. Пишится так - test eax, eax. Иногда может быть не eax, а другой регистр, но чаще всего eax. Если eax равен 0, то устанавливается флаг нуля, становится равным 1) Вот такой код:

00404BE5   . 85C0           TEST EAX,EAX
00404BE7   . B9 180B4600    MOV ECX,Audiocom.00460B18
00404BEC   . 8D4424 04      LEA EAX,DWORD PTR SS:[ESP+4]
00404BF0   . 74 4D          JE SHORT Audiocom.00404C3F - заменить на NOP или JNZ
00404BF2   . 68 7CED4300    PUSH Audiocom.0043ED7C                  
00404BF7   . 50             PUSH EAX
00404BF8   . E8 43020000    CALL Audiocom.00404E40
00404BFD   . 8D4C24 04      LEA ECX,DWORD PTR SS:[ESP+4]
00404C01   . 51             PUSH ECX
00404C02   . E8 09C60000    CALL Audiocom.00411210
00404C07   . 83C4 04        ADD ESP,4

Я решил попробовать заменить JE на NOP и посмотреть, что будет. После того как я модифицировал файл, любой код который я вводил в панели пароля подходил.( Так же можно изменить JE на JNZ, эффект будет тодже. ) Но иногда такой способ дает осечки.

[Способ №2]

Поиск пароля, если подумать логически то в программе есть правильный код, иначе как программа распазнает код. То есть в програме есть правильный код который сравнивается с тем что я ввел, вот я и решил найти его. Для этого я переустоновил программу, и запустил опять свою верную помощницу Олю (ollydbg), но на этот раз я искал код проверки пароля, то есть место где проверяется правильный код с тем кодом который ввел я. Из этого примера вы поймете почему в первом способе надо изменить JE на NOP. И так первом делом я поставил брэкпоинт на GetDlgItemTexta и нажал F9, после открыв панель пароля ввел что попало и нажал окей и попал на такой код:

00404BDA   . FF15 60E44300  CALL DWORD PTR DS:[<&USER32.GetDlgItemTe>; 
               \\GetDlgItemTextA
00404BE0   . E8 EBFDFFFF    CALL Audiocom.004049D0

Сразу обратите внимание на CALL Audiocom.004049D0, это вызов проверки пароля, почему я так решил?Вот почему, я нажал F8(Трассировка без захода в процедуру), оказавшись на CALL Audiocom.004049D0, я нажал F7(Трассировка с заходом в процедуру) Я попал вот сюда:

004049D0  /$ 83EC 50        SUB ESP,50                  - где я нахожусь.
004049D3  |. E8 C8FEFFFF    CALL Audiocom.004048A0
004049D8  |. 50             PUSH EAX
004049D9  |. 8D4424 34      LEA EAX,DWORD PTR SS:[ESP+34]
004049DD  |. 50             PUSH EAX
004049DE  |. B9 180B4600    MOV ECX,Audiocom.00460B18
004049E3  |. E8 58040000    CALL Audiocom.00404E40
004049E8  |. 8D4C24 30      LEA ECX,DWORD PTR SS:[ESP+30]
004049EC  |. 51             PUSH ECX
004049ED  |. E8 5EC80000    CALL Audiocom.00411250
004049F2  |. 83C4 04        ADD ESP,4
004049F5  |. 8D5424 18      LEA EDX,DWORD PTR SS:[ESP+18]
004049F9  |. 52             PUSH EDX
004049FA  |. B9 180B4600    MOV ECX,Audiocom.00460B18
004049FF  |. E8 5C060000    CALL Audiocom.00405060
00404A04  |. 50             PUSH EAX
00404A05  |. B9 180B4600    MOV ECX,Audiocom.00460B18
00404A0A  |. E8 01090000    CALL Audiocom.00405310
00404A0F  |. 6A 10          PUSH 10                                  
00404A11  |. 8D4C24 04      LEA ECX,DWORD PTR SS:[ESP+4]             
00404A15  |. 51             PUSH ECX                                 
00404A16  |. 50             PUSH EAX                                 
00404A17  |. E8 C9950200    CALL Audiocom.0042DFE5                   
00404A1C  |. 83C4 0C        ADD ESP,0C
00404A1F  |. 8D5424 00      LEA EDX,DWORD PTR SS:[ESP]
00404A23  |. 52             PUSH EDX
00404A24  |. B9 180B4600    MOV ECX,Audiocom.00460B18
00404A29  |. E8 F2050000    CALL Audiocom.00405020
00404A2E  |. 68 E8144600    PUSH Audiocom.004614E8                   
00404A33  |. 8D4424 34      LEA EAX,DWORD PTR SS:[ESP+34]
00404A37  |. 50             PUSH EAX                   - Тут лежит правельный код.
00404A38  |. B9 180B4600    MOV ECX,Audiocom.00460B18
00404A3D  |. E8 BE030000    CALL Audiocom.00404E00
00404A42  |. 85C0           TEST EAX,EAX
00404A44  |. 74 1E          JE SHORT Audiocom.00404A64
00404A46  |. 68 E8144600    PUSH Audiocom.004614E8                   
00404A4B  |. 8D4C24 04      LEA ECX,DWORD PTR SS:[ESP+4]
00404A4F  |. 51             PUSH ECX
00404A50  |. B9 180B4600    MOV ECX,Audiocom.00460B18
00404A55  |. E8 A6030000    CALL Audiocom.00404E00
00404A5A  |. 85C0           TEST EAX,EAX
00404A5C  |. 74 06          JE SHORT Audiocom.00404A64
00404A5E  |> 33C0           XOR EAX,EAX
00404A60  |. 83C4 50        ADD ESP,50
00404A63  |. C3             RETN
00404A64  |> 830D E4144600 >OR DWORD PTR DS:[4614E4],1
00404A6B  |. 68 E8144600    PUSH Audiocom.004614E8                   
00404A70  |. 8D5424 34      LEA EDX,DWORD PTR SS:[ESP+34]
00404A74  |. 52             PUSH EDX
00404A75  |. B9 180B4600    MOV ECX,Audiocom.00460B18
00404A7A  |. E8 81030000    CALL Audiocom.00404E00

Это код проверки пароля, тут я начал трассировку F8, трассировал программу до:

00404A37  |. 50             PUSH EAX 

Я обратил внимание на код в верхним правом углу в окне(Registers FPU) U6c-7M-zDy-45, это и есть правильный код, он лежал в регистре EAX. После я переписал код в блокнот и зыкрыл отладчик. Запустив программу я ввел этот код и как стоило ожидать он был правильный. Значит правильный регистрационый код к программе Audio Companion (full version) это U6c-7M-zDy-45.

Досвидания и спасибо за внимание.




© outlaw 08.12.2007

e-Commerce Partners Network
Ник:

Текст:
P Br B I Qute



Код: обновить
Последние комментарии
19.11.2017 07:57:37 Yakunmip написал:
tilaDatt ImmenseZinna IroriaShoobbog ...
Пишем guestbook
19.11.2017 05:42:41 YakunKeway написал:
enusbansiddign COoroTeatroff Byday ...
Пишем guestbook
19.11.2017 01:19:37 Dmitriyvah написал:
byncecopesy SlaltPog Kt ...
Пишем guestbook
Реклама

Тут должна была быть ваша реклама, но мы потеряли глиняную табличку с ее текстом. SapeId: 665044

Rambler's Top100