Пример написания Крака на паскале
Оформил: DeeCo
Автор: http://www.cracklab.narod.ru
Автор: vallkor (vallkor@chat.ru)
Многие не верят в возможность написания нормального крака
на паскале. Я решил разбить этот стереотип в этой статье.
Итак, я привожу пример такого крака для Opera 3.5 и
коментарии ко всем строкам:
uses Crt;
const
A: array[1..1] of record
{таблица может состоять из сколько угодно элементов - один эл-т таблицы - один изменяемый байт}
A: Longint;
B: Byte;
end =
((A: $0005BF31; B: $EB));
{здесь А - адрес изменяемого байта, В - новое значение этого байта}
var
Ch: Char;
I: Byte;
F: file;
FN: file of Byte;
Size: Longint;
begin
clrscr;
Writeln('Hello!'); {здесь идёт вывод информации о краке}
Writeln(#3, ' This is an Opera 3.5 Crack! ', #3);
{рекомендовано использовать всякие приколы}
Writeln(' It`s REmove the REmember window in the start '); {шутки}
Writeln(' And Trial stay in forever!'); {прибаутки}
Writeln(' Cracked by vallkor'); {и имя создателя}
writeln(' Cracking Opera.exe .......');
{обязательно укажем имя кракаемого файла}
Assign(F, 'opera.EXE'); {открываем}
{$I-}Reset(F, 1);
{$I+}
if IOResult <> 0 then {если файла такого нет}
begin
TextColor(4);
Writeln(' ');
Writeln(' File not found !!!'); {выводим сообщение об ошибке}
Writeln(' This file must be in the same folder with target file !!!', #7);
{и то, что крак должен быть в этой дирректории}
Halt(1); {выходим из программы}
end;
Size := FileSize(f); {получаем размер кракаемого файла}
if Size <> 1228800 then {если он не равен нужному}
begin {то}
TextColor(4);
Writeln(' ');
Writeln(' Error !!!'); {выводим сообщение об ошибке}
Writeln(' Filesize Mismatch', #7);
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;
TextColor(9);
Writeln(' ');
Writeln(' Everything went OK. Enjoy !!!', #7);
{если всё прошло успешно - сообщение об этом}
end. {конец}
На таком простом примере я показал, что даже на паскале (народном языке)
возможно написание нормального крака, без необходимости изучения других языков.
ВСЁ!
|