În acest articol, voi spune dezvoltatorii de celebrul program
WinRAR programul lor cu ușurință cedat la hacking. Aceste informații sunt furnizate numai pentru informații!
Ei bine, să începem. Pentru a lucra, aveți nevoie de program:
ieșire alternativă sau logica undeva în apropiere
Pune în SoftIce punct de întrerupere pe funcția SetTimer. Acest lucru se poate face după cum urmează:
Acum, rulați RAR. Trebuia să sari
SoftIce favorit. Când mi-a venit, apăsați F5 până când vă aflați în WinRAR. Ei bine? Sunteți deja în
ea? Ok, deci totul merge așa cum este necesar :). Odată ce sunt întrerupte în
RAR indicator linie de executat este aici:
0043FAA0 MOV EAX, 004AF1C4
Și mai presus de asta, trebuie să ...
0043FA93 E8C0E90400 CALL [User32! SetTimer]
Acum îndepărtați breakpoint (bc 0) și SoftIce aproape.
Otorvomsya pic de hacking și să se gândească ce să facă în continuare.
Deci, acest lucru: avem un cod de comandă CALL SetTimer, ceea ce înseamnă că resturile găsite cod Offset
(Pentru schimbări în WinHEX'e) octeți și zanopit
O să-ți spun un secret, acesta este primul program pe care am intrat fără articolele de ajutor din hacking-ul.
Patch la Delphi pentru WinRAR.
Iată codul sursă patch-uri de pe Delphi. El nu este împovărat de cei verificând dacă este octeții, dar a verifica existența fișierului în folderul cu tine.
utilizări
clase,
ferestre,
SysUtils;
var
f: TFileStream;
s: byte;
începe
Writeln ( 'Crack pentru WinRAR 3.xx de Angel');
Write ( 'Apăsați Enter pentru a continua drumul ...');
readln;
în cazul în care nu (FileExists ( 'WinRAR.exe')), atunci
începe
Scrie ( 'File not found.');
readln;
Halt;
capăt
altfel
începe
s: = $ 90;
f: = TFileStream.Create ( 'WinRAR.exe', fmOpenWrite);
f.Seek ($ 3F09B, soFromBeginning);
f.Write (s, sizeof (s));
f.Seek ($ 3F09C, soFromBeginning);
f.Write (s, sizeof (s));
f.Seek ($ 3F09D, soFromBeginning);
f.Write (s, sizeof (s));
f.Seek ($ 3F09E, soFromBeginning);
f.Write (s, sizeof (s));
f.Seek ($ 3F09F, soFromBeginning);
f.Write (s, sizeof (s));
f.Free;
se încheie;
Scrie ( 'File «WinRAR.exe» cracked.');
readln;
end.
Arată acest articol unui prieten: