Black Knight is back on PC !!
Fuer alle die mich noch aus meiner Amiga Zeit kennen, seit gegruesst.

Da ich mich zwischenzeitlich mit meinem PC recht gut auskenne hab ich
mir gedacht ich muesste auch mal ein Tutorial schreiben.
Also los!

Was brauchen wir alles:
zuerst einmal W32dsm89 
und dann noch Hiew 6
gibt es alles unter www.crackstore.de

Dann brauchen wir noch ein Opfer
nehmen wir einmal das Applet Button factory 5.0 von Coffeecup Software
www.coffeecup.com
Warum?
Weil es eine sehr gute Software ist und zu dem nicht schwer zu Cracken ist.

Na dann auf gehts

als erstes Installiren wir die Software.
Dann starten wir das Ding mal und bekommen eine schoenen hinweis das dies
eine Shareware ist und noch einen Button um die Software zu registrieren.
da druecken wir doch gleich einmal drauf und versuchen unser Glueck
in dem wir irgend etwas in das Feld Username und Password eingeben.

Natuerlich bekommen wir eine Fehlermeldung, ausser man kann Hellsehen
und gibt die richtigen Daten ein.
Die Fehlermeldung heisst.

Incorrect Username and Password

Diese Meldung schreiben wir uns auf.
Nun klicken wir uns in das Installationsverzeichnis von unserer Software
und machen von der AppletButtonFactory.exe eine Kopie.
Wie das geht brauch ich ja wohl nicht erklaeren.

Dann starten wir W32dsm89 und gehen auf Diassembler/open File to diassemble
und suchen unsere Kopie der Factory.exe.
Das dauert jetzt ein wenig............................
So dala      Wen ihr jetzt nur Schrott seht muesst ihr noch einen Font einstellen.
und zwar unter Diassembler/Font/select Font

Jetzt klicken wir mal auf den Button links neben dem Druckbutton der nennt
sich String Data References.
Da bekommen wir einen haufen Meldungen dargestellt.
Also erinnern wir uns an unsere Fehlermeldung und durchsuchen mal das ganze Fenster.
Ihr werdet feststellen das alles Alphabetisch geordnet ist.
dann nur zu I gehen und da haben wir sie schon.
Wir machen einen Doppelklick auf die Meldung daraufhin springt ein gruener oder blauer Balken
im Programm an diese Stelle und wir koennen unser Suchfenster schliessen.
Jetzt muesstet ihr folgendes vor euch haben.




* Possible StringData Ref from Code Obj ->"Incorrect username and password."
                                  |
:0047539A B898544700              mov eax, 00475498
:0047539F E8B8D9FDFF              call 00452D5C


So das ist unsere Fehlermeldung!
jetzt muessen wir festellen von wo aus diese Meldung aufgerufen wird, dafuer
scrollen wir etwas nach oben. Da steht dann 

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:004752E4(C), :0047530C(C)
|
Genau diese zwei brauchen wir.

Wir klicken auf Goto Code Location und geben 004752E4 ein und druecken Enter.
Wir befinden uns nun in folgender Zeile

* Possible StringData Ref from Code Obj ->"12aew"
                                  |
:004752D8 BAC8534700              mov edx, 004753C8
:004752DD E82A3BF9FF              call 00408E0C
:004752E2 85C0                    Test eax, eax               -----Testet unsere Eingabe
:004752E4 0F85B0000000            jne 0047539A              1  ----- wenn unsere Eingabe falsch ist springt er zur Fehlermeldung
der Rest dieser Zeile ist fuer uns uninteressant!

Zur Erklaerung jne bedeutet jump if not equal (springe wenn nicht gleich)
Das heisst also wenn unsere Eingabe richtig ist springt er nicht zur Fehlermeldung.
Macht einen Doppelklick auf die Zeile mit dem jne und notiert euch die Offsetnummer in dem unteren
Rahmen von W32dsm89 diese lautet 000746E4 das h koennt ihr weglassen das bedeutet nur das es sich um
eine HEX Zahl handelt.

So nun ist unser zweiter Jump an der Reihe also wieder Goto Code Location 0047530C eingeben und
Enter druecken, dann muesstet ihr hier gelandet sein.

* Referenced bya (U)nconditional or (C)onditional Jump at Adresses:
|:004752A5 (C)
|
:0047530C 0F8588000000           jne 0047539A                  2 ----- hier haben wir den 2 Jump zur Fehlermeldung
der Rest interessiert uns wieder nicht.

Wieder doppelklick auf die Zeile und Offset notieren. Diesmal 0007470C

Was ist nun zu tun ?  Ein Jump prueft den usernamen der andere das password.
Wir muessen ihn dazu bringen nicht zur Fehlermeldung zu springen wenn wir etwas falsches eingeben.
Dazu aendern wir beide jne in je (jump if equal) um.
Das bewirkt das wenn wir die richtigen Daten eingeben eine Fehlermeldung bekommen, aber wenn wir etwas
falsches eingeben werden wir Registriert.  Ist doch logisch oder.
W32dsm89 koennen wir nun beenden und Hiew starten.
Am besten startet ihr Hiew ueber Start/Ausfuehren und haengt dann an die befehlszeile nut noch den
Pfad der Exe dran. zb: c:\hiew\hiew.exe c:\applet~1.exe 

Wenn ihr das geschaft habt drueckt F4 waelt Decode aus und drueckt Enter.
Dann F5 und gebt euren Offset ein also 000746E4 und drueckt Enter.
Jetzt F3 und aendert die 0F85B0000000 in 0F84B0000000 und schon haben wir einen je statt einen jne
Drueckt F9 um zu speichern und dann wieder F5 und gebt den Zweiten Offset ein und verfahrt genauso
wie beim ersten. Wieder F9 zum speichern und dann F10 zum beenden von Hiew.

Jetzt noch die Kopie von AppletButtonFactory.exe in AppletButtonFactory.exe umbenennen und die 
original exe durch diese ersetzen.

Jetzt starten wir unser Programm und geben bei Register zb. als username Black Knight
und als Password 12345678 ein und schon sind wir registriert.

So das wars! puh war doch gar nicht so schwer        aber werdet jetzt nicht uebermuetig das 
war eine relativ leichte aufgabe !!

Bis demnaechst euer BLACK KNIGHT