FxEdit by Bart

Temat     Crack
Autor     Bart
Co        FxEdit
Narzedzia:W32dsm 8.93
          Hiew 6.00
          SoftIce 3.2 i wzwyz

FxEdit znajdziecie na płycie Chipa 1/99.

Narzedzia mozna znalezc na stronie http://cracking.home.ml.org

1.Uruchamiamy program

2.W menu HELP klikamy REGISTER

3.Wprowadzamy dane,wchodzimy do SoftIca(CTRL-D) i zastawiamy pulapke na pobieranie tekstu z okienka tekstowego bpx getwindowtexta.Wychodzimy z SoftIca(CTRL-D lub F5) i klikamy OK.

4.Poniwaz sa 3 okna tekstowe a wiec 2 razy naciskamy F10 a za trzecim razem F11.Nastepnie naciskamy F10 az do momentu gdy zobaczymy kod:

:0040A5E8 E853760000              call 00411C40 <--generowanie seriali
:0040A5ED 83C408                  add esp, 00000008
:0040A5F0 3BC5                    cmp eax, ebp <--porownanie
:0040A5F2 741E                    je 0040A612  <--JUMP IF EQUAL skok do dobrego

5.Gdy bedziemy pod adresem 40A5F0 sprawdzamy co siedzi w rejestrach eax i ebp.Piszemy ?eax i okazuje sie ze w eax znajduje sie prawdziwy serial i to by by-o na tyle ale naszym zadaniem jest napiasanie patcha zeby kazdy mogl sobie zarejestrowac program.

6.Uruchamiamy W32dsm i dekompilujemy FxEdita.Idziemy pod adres 40A5F gdzie znajduje sie kawalek kodu odpowiedzialny za porownanie seriali.Pod 40A5F0 nastepuje skok jezeli porownane seriale byly takie same.Sprawdzamy co kryje sie pod adresem 40A612 i widzimy mniej wiecej cos takiego:

:0040A612 896E64                  mov dword ptr [esi+64], ebp <--zapamietanie seriala
:0040A615 EB07                    jmp 0040A61E

7.Pod 40A612 nastepuje zapamietanie seriala a pod 40A615 znajduje sie skok do procedury zapamietujacej dane rejestracyjne w rejestrze systemowym.Zapamietywany jest serial znajdujacy sie w rejestrze ebp.

8.Aby recznie zmienic FxEdita kolejno:klikamy na 40A5F2(cmp eax,ebp) i z paska statusu odczytujemy offset.Uruchamiamy Hiew,zmieniamy tryb klawiszem F4 na Decode potem naciskamy F5 i wpisujemy offset 99F1.Naciskamy F3 aby wejc do trybu edycyjnego nastepnie naciskamy F2 i wpisujmy cmp eax,eax przez co program za kazdym razem bedzie porownywal 2 takie same prawdziwe seriale.Klikamy ESC i F9 ale nie wychodzimy jeszcze z programu.Nastepnie odzytujemy z W32dsm offset adresu 40A612.Przechodzimy do Hiew naciskamy F5 i wpisujemy offset 9A13.Klikamy F3,F2 i zmieniamy

mov dword ptr [esi+64], ebp
na
mov dword ptr [esi+64], eax

zeby zapisany zostal w rejestrze systemowym prawdziwy serial a nie nasz bledny.Klikamy ESC,F9,F10.

9.Uruchamiamy ponownie FxEdita przechodzimy do rejestracji,wpisujemy dowolne dane.Voila program zarejestrowany!Aby sprawdzic jaki bylby nasz prawdziwy numer seryjny bez wczesniejszego znajdowania go SoftIcem uruchamiamy RegEdita i w kluczu

HKEY_CURRENT_USER\SOFTWARE\Software by Design\FxEdit for Windows 95/NT\Registration    

znajduje sie wartosc Code, ktora przechowuje nasz prawdziwy serial(w postaci dziesietnej).

10.Patch(w pascalu)moglby wygladac mniej wiecej tak

Program Crack;
Uses Crt;
Const A: Array[1..2] of Record  {zmieniamy 2 bajty}
                        A : Longint;
                        B : Byte;
                        End =
((A:$99F1;B:$C0),       {pod offset 99F1 wartosc C0}
 (A:$9A13;B:$46));      {pod offset 9A13 wartosc 46}


Var Ch:Char;
    I:Byte;
    F:File;

Begin

 writeln('Crack dla FxEdit by Bart');
 Assign(F,'FxEdit.exe'); {nazwa pliku format 8.3}
 {$I-} Reset(F,1); {$I+}

 If IOResult <> 0 then
 begin
  writeln('File not found!');
  halt(1);
 end;

 For I:=1 to 2 do 
 Begin
  Seek(F,A[I].A);
  Ch:=Char(A[I].B);
  Blockwrite(F,Ch,1);
 End;

 Writeln;
 Writeln('File successfully patched!');
End.

11.I to by bylo na tyle.Czesc!