首页
社区
课程
招聘
FiReAnGeL [EViDENCE] Cracking Tutorial #2 (GERMAN)
发表于: 2007-2-21 19:01 2224

FiReAnGeL [EViDENCE] Cracking Tutorial #2 (GERMAN)

2007-2-21 19:01
2224
FiReAnGeL [EViDENCE] Cracking Tutorial #2 (GERMAN)
==================================================

(1) Vorwort

(2) Ben鲷igte Programme

(3) Patchen des Crackmes

(4) Serial sniffen des Crackmes

(5) Einen Keygen coden

(6) Schlusswort

(7) Gr?e

[1 - Vorwort]
-------------

Hallo allezusammen. Mein Name ist FiReAnGeL und ich bin Member der !!!neuen!!! EViDENCE.

Ich m鲢hte euch heute zeigen wie man f? r0m4n's Crackme 1 eine Serial f? seinen Namen snifft
und es so patcht das es jede Serial annimmt. Es ist zwar schon ein bischen alt, aber ich fand
es gerade auf mein Festplatte gefunden.

[2 - Ben鲷igte Programme]
-------------------------

- NuMega SoftIce 4.xx (http://protools.cjb.net)

- W32Dasm 8.93 (http://protools.cjb.net)

- Hexeditor (http://protools.cjb.net)

- r0m4n's Crackme 1 (http://crackmes.cjb.net)

- Irgendein Compiler

[3 - Patchen des Crackmes]
--------------------------

Wenn ihr das Crackme runtergeladen habt und es entpackt habt, macht ihr eine Kopie der *.EXE.

Dann starten mal W32Dasm und lasst die Kopie von crackme1.exe dissamblen.

W滂rend dessen schauen wir uns das Crackme mal ein wenig an. Es hat ein Eingabefeld f? den
Namen und eines f? die Serial. Gebt dort mal irgendwas ein und ihr erhaltet die Meldung
"Incorrect!!!".

So, das reicht. Inzwischen m?ste auch WinDasm fertig sein. Nun 鲦fnet mal die "STRING DATA
REFERENCES" und sucht diese Meldung, wenn ihr sie gefunden habt macht ein doppelklick darauf
und ihr m?stet an folgender Stelle sein:

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0042CE76(C)
|

* Possible StringData Ref from Code Obj ->"Incorrect!!!"
                                |
:0042CE8E B83CCF4200                mov eax, 0042CF3C        // Hier steht ihr         
:0042CE93 E824FCFFFF                call 0042CABC

Wie ihr sehen k鲱nt wird unsere Meldung von einem JUMP bei der Adresse 0042CE76 aufgerufen.

Also gehen wir mal dort hin ?er GOTO --> GOTO CODE LOCATION --> ADDRESSE EINGEBEN, dann seit
ihr hier.

--- schnitt ---

:0042CE32 8BC3                        mov eax, ebx
:0042CE34 8B08                        moc ecx, dword ptr [eax]
:0042CE36 FF5118                call [ecx+18]

* Possible StringData Ref from Code Obj ->"420"         // Sieht verd溷htig aus, merken
                                |
:0042CE39 68C4CE4200                push 0042CEC4
:0042CE3E FF7308                push [ebx+08]

* Possible StringData Ref from Code Obj ->"C00l"        // Sieht verd溷htig aus, merken

:0042CE41 68D0CE4200                push 0042CED0
:0042CE46 B818F74200                mov eax, 0042F718
:0042CE4B BA03000000                mov edx. 00000003
:0042CE50 E82B6AFDFF                call 00403880
:0042CE55 8D45FC                lea eax, dword ptr [ebp-04]
:0042CE58 8B0D18F74200                mov ecx, dword ptr [0042F718]

* Possible StringData Ref from Code Obj ->"Rc1-"        // Sieht verd溷htig aus, merken

:0042CE5E 8B15C8E84200                mov edx, dword ptr [0042E8C8]
:0042CE64 E8A369FDFF                 call 0040380C
:0042CE69 8B55FC                mov edx, dword ptr [ebp-04]
:0042CE6C A110F74200                mov eax, dword ptr [0042F710]
:0042CE71 E85A6AFDFF                call 004038D0                // Der ist Sp漪er wichtig
:0042CE76 7516                        jne 0042CE8E                // Bad boy

* Possible StringData Ref from Code Obj ->"Good work, Cracker!!!"        // Erfolgsmeldung

:0042CE78 B8E0CE4200                mov eax, 0042CF00
:0042CE7D E83AFCFFFF                call 0042CABC

* Possible StringData Ref from Code Obj ->"Send the tut/patcher/keygen to "   // Erfolgsmeldung
                                          "r0m4n@flyhost.com"

:0042CE82 B800CF4200                mov eax, 0042CF00

--- schnitt---

Wie ihr seht, wird unsere Fehlermeldung von dem "JNE 0042CE8E, an Addresse 0042CE76" ausgel鲶t.
Also 鲦fnet nun die Crackme1.exe im Hexeditor, geht an die Stelle des JNE und 漕dert das 7516 in,
9090. Also ausnoppen. Dann speichert die 念derung.

Nun startet das Crackme mal und versucht es zu reggen, und siehe da, es bringt immer die Erfolgs-
meldung.

Nun haben wir es gepatched. Wenn ihr noch ne Serial rippen wollt lest weiter.

[4 - Serial sniffen]
--------------------

So, ihr wollt also ne Serial. Dann schauen wir uns doch mal 9in der Umgebung des JNE 0042CE8E um.

:0042CE5E 8B15C8E84200                mov edx, dword ptr [0042E8C8]
:0042CE64 E8A369FDFF                 call 0040380C
:0042CE69 8B55FC                mov edx, dword ptr [ebp-04]
:0042CE6C A110F74200                mov eax, dword ptr [0042F710]
:0042CE71 E85A6AFDFF                call 004038D0                // Hier rein
:0042CE76 7516                        jne 0042CE8E                // Bad boy

Wir sehen ?er dem Jump ein call. Dort gehn wir mal rein und sehen folgenden ASM Code.

--- schnitt ---

:004038D0 53                        push ebx        // ebx wird auf den Stack gesichert
:004038D1 56                        push esi        // esi wird auf den Stack gesichert
:004038D2 57                        push edi        // edi wird auf den Stack gesichert
:004038D3 89c6                        mov esi, eax        // eax wird in esi kopiert
:004038D5 89D7                        mov edi, edx        // edx wird in edi kopiert
:004038D7 39D0                        cmp eax, edx        // eax wird mit edx verglichen
:004038D9 0F848F000000                je 0040396E        // Wenn eax=edx dann Sprung

--- schnitt ---

Nun k鲱nt ihr raten was bei Adresse 004038D7 verglichen wird, richtig unsere Fake Serial mit der
richtigen. Merkt euch diese Adresse.

So, das reicht und um eine Serial zu rippen.

Startet euren Rechner mit Soft Ice neu (wenn ihr SI noch nicht geladen habt).

Nun startet eine noch nicht ver漕derte EXE des Crackmes und gebt euren Namen und eine Serial ein,
aber noch NICHT auf check klicken.

宙fnet nun Soft Ice und setzt einen Breakpoint auf HMEMCPY. Dann verlasst SI wieder und dr?kt auf
Check. Nun sollte SI aufpoppen. Dr?kt nun einmal F5 und dann solange F12 bis ihr im richtigen Code
des Crackmes seid.

L鲶cht nun den gesetzten breakpoint und setzt einen neuen auf das "cmp eax, edx". Dr?kt nun F5.

Schaut euch dann mal die register an, wenn ihr auf dem CMP steht, mit d eax und d edx.

Nun m?stet ihr einmal euren Fakecode sehn und einmal euren richtigen.

In meinem Fall:

NAME  : FiReAnGeL
SERIAL: Rc1-420FiReAnGeLC00L

Nun sehen wir auch wieder unsere Hardgecodeten Strings aus WinDasm, das w潋en: Rc1-, 420, C00L

Daraus l潴st sich schliesen dass jeweils nur der Name ver漕dert wird, der rest schon Feststeht.

Nun k鲱nte man auch sehr leicht einen Keygen "bauen". Versucht es selbst, ansonsten lest weiter.

[5 - Keygen coden]
------------------

Da ihr seht das Die Serial so gut wie feststeht, nur der Namen wird immer ge漕dert, ist es relativ
leicht einen Keygen zu Coden. Versucht es selbst, ist sau einfach. Ansonsten ist hier mein Source,
erstellt in Delphi 5.0.

---------- Start Delphi ----------

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    GroupBox1: TGroupBox;
    Edit1: TEdit;
    GroupBox2: TGroupBox;
    Edit2: TEdit;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}
var

name, a, b, c: String;

procedure TForm1.Button1Click(Sender: TObject);
begin
Name := edit1.Text;
a := ('Rc1-');
b := ('420');
c := ('C00L');
edit2.text := a + b + Name + c;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;

end.

---------- Ende ----------

Der Source ist vielleicht nicht der sch鲱ste, erf?lt aber seinen Zweck.

[6 - Schlusswort]
-----------------

So, das war es auch schon. Mailt mir doch bitte, wie euch das Tutorial gefallen hat. Wenn ihr noch
Fragen habt, mail mir diese. Ich werde dann versuchen, diese so gut wie m鲧lich zu beantworten.

[7 - Gr?e]
-----------

Groups: EViDENCE, Da Breaker Crew, refleXXion, Ebola Virus Crew, Natural Born Killers, CROSSFiRE,
        iNTENSiON, LAXiTY, Underground Cracking Crew

Personen: Garuro, MacBain2k, Incredible Fighter, Yaan, vtec, viruz666, pHAT_tEQ, NUKEM, kab00m2k,
          The FoX, Gravity-, Tojo, Milhouse, Cre@k, bYtEbReAkEr, L1quid, The_5TAR, BOT-CK, Hixxy,
          PorTeX, Tschenzi, Daywalker, Helium, R2-C2, RaMSiX, Erazor, FiReStAr, Raven, ...

---------------------------------------

Autor   : FiReAnGeL

Groups  : EViDENCE, Natural Born Killers

E-Mail  : FiReAnGeL-2001@gmx.net

Homepage: http://evidence.6x.to

          http://nabocrk.cjb.net

Datum        : 12.06.2001

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//