Учебник Кракера часть вторая

Введение:
В этой части (Вторая часть учебника) вы научитесь использовать такие проги как: W32Dasm и HIEW. Так же мы взломаем одну простенькую программу.


Туториал разделен на три части:

Часть 1: Введение, инструменты и основы кракинга.
Часть 2: Практические тренировки, использование W32Dasm и HIEW.
Часть 3: Генераторы ключей.


Добро пожаловать во вторую часть. ;-)

Предупреждение:
Я создал этот учебник только в информационных целях! Большинство информации содержащейся в этом документе может быть использовано в противозаконных целях! Не пытайтесь сделать что-либо описанное в этом документе! Если вы попытались сделать что-то в этом роде, вы один полностью несёте ответственность за то, что вы сделали! Если вы попали в неприятную ситуацию, то это случилось только по вашей вине! Если вы намерены использовать эту информацию что-бы впечатлить ваших друзей, оставте её более взрослым людям! Если вы не согласны с этим, то дальше можете не читать! Если вы взломали программу, и пытаетесь продать или одолжить крак бесплатно, то это преступление!

7 шагов взлома
Вы уже видели эти семь шагов в предыдущей части учебника, но они очень важны. Если вы помните эти шаги, то это уже 40% успеха во взламывании программы. Дополнительная программа (взламываемая). Сейчас мы будем взламывать вашу первую программу. Но до этого вам надо закачать её здесь. Теперь, когда вы её закачали, можно приступать!

Взламывание первой программы(RGtimer).
Сейчас мы будемс выполнять каждый из семи пунктов:

Шаг 1: Запускаем программу:
Так, что мы видем .... Программа выдаёт сообщение о том, что она будет работать 45 дней, появляется иконка в систем трее. Теперь кликаем правой кнопкой мыши по иконке и выбираем "Registration". Вводим любой код и видим как нас посылают ... Ну ничаго сейчас мы всё исправим :-)

Шаг 2: Дизасемблим программу в W32Dasm.
Жмём Search\Find text вводим "Sorry, The ..." (без ...)

Шаг 3: Идём вверх до первого "je" ( Это то место где программа прыгает на не правильный диалог)

:0045FEB6 E83D70FAFF_____________call 00406EF8
:0045FEBB 8B45F4__________________mov eax, dword ptr [ebp-0C]
:0045FEBE 8B55F8__________________mov edx, dword ptr [ebp-08]
:0045FEC1 E8BE3DFAFF______________call 00403C84
:0045FEC6 741A____________________je 0045FEE2
:0045FEC8 6A00____________________push 00000000
:0045FECA 668B0D3C004600__________mov cx, word ptr [0046003C]
:0045FED1 B202____________________mov dl, 02

* Possible StringData Ref from Code Obj ->"Sorry, The Registration Key is "
________________________________________->"Invalid."

:0045FED3 B848004600______________mov eax, 00460048
:0045FED8 E82763FDFF______________call 00436204
:0045FEDD E91D010000______________jmp 0045FFFF

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0045FEC6(C)
|
:0045FEE2 6A00____________________push 00000000
:0045FEE4 668B0D3C004600__________mov cx, word ptr [0046003C]
:0045FEEB B202____________________mov dl, 02

* Possible StringData Ref from Code Obj ->"Thank you for registering."
|
:0045FEED B878004600______________mov eax, 00460078
:0045FEF2 E80D63FDFF______________call 00436204
:0045FEF7 8D55EC__________________lea edx, dword ptr [ebp-14]
:0045FEFA 8B83E0010000____________mov eax, dword ptr [ebx+000001E0]
:0045FF00 E88BE8FBFF______________call 0041E790


////////////////////// Code snip ///////////////////////////


Для того чтобы программа шла на диалог разблокирования нам нало всего лишь поменять "je" на "jne".

Шаг 4: Побайтовое редактирование.
Открываем Hiew. В нем EXE файл программы(ReallyGood.exe). {Лучше всего скопируйте его как 1.EXE и уже его открывайтее. Делается это на случай если вы запорите EXEшник, когда будете его редактировать в hiev} Находим адрес строки в W32Dasm (это находится в статус баре и начинается с '@').



  1. Жмём F5 в Hiew.
  2. Вводим 0005F2C6 клацаем ENTER.
  3. Жмём F3 - для редактирования.
  4. Изменяем 74 на 75 (получится "jne").
  5. Жмём F9 - сохраняем.
  6. Жмём F10 - выходим.
  7. Запускаем программу, смотрим результат.
 

5. В заключении
Ну вот ваша первая взломанная прога !!! Но не все прграммы кракаются так легко, но ... Главное практика. В следующей части мы будем рассматривать генераторы ключей.
P.S. Вот исходник крака на паскале :


Program Crack;
uses crt;
const A:array[1..1] of Record
A:longint;
B:Byte;
end=((A:$5F2C6;B:$75));
var ch:char;
I:byte;
F:file;
FN:file of byte;
Size:longint;
Begin
clrscr;
textcolor(10);
Writeln('Cracked by Mr.Mad & Doberman !');
Assign(F,'ReallyGood.exe');
{$I-}reset(F,1);{$I+}
If IOresult <> 0 then begin
writeln('File not found !!!');
halt(1);
end;
for I:=1 to 1 do begin
seek(F,A[i].A);
Ch:=char(A[i].B);
Blockwrite(F,Ch,1);
End;
Write(' Cracked !!!');
readln;
end.


Назад

Сайт создан в системе uCoz