*** German Cracking Tutorial for Star Wars Monopoly by Haplo ***
Haplo's Cracking Tutorial #2, 27.7.99

...see also Cracking tutorial #1 --- How to Crack Jagged Alliance 2


Am besten zu sehen mit Vollbild und Zeilenumbruch.
VORWORT: Es gibt natrlich noch andere wege das spiel zu cracken... hier wird nur der einfachste (nicht der beste!!) gezeigt.

Hallo
Ich bin Haplo und versuche dir anhand dieses Tutorials das cracken ein wenig nher zu bringen.
Dies sit ein deutsches tutorial in dem ich beschreibe wie man Star Wars Monopoly crackt, also in diesem fall die CD-Abfrage entfernt. In diesem Fall sit das sehr einfach...
Dies sind die Programme die du bentigst:

- Star Wars Monopoly                    ***    Gibts in jedem Computerladen, bei Freunden, oder in der Videothek
- W32Dasm   (der Dissamemblierer)       ***    Gibts bei www.crackstore.com
- Hiew      (der Hexeditor)             ***    Gibts bei www.crackstore.com

- Dissambliererkenntnisse (muss nicht, wre aber besser/ asscodes.txt lesen!!)


INSTALLIEREN DES SPIELS
-------------------------------
Als erstes muss StarWars Monopoly KOMPLETT!! installiert werden. Dann legst du eine Sicherheitskopie an falls was schieflaufen sollte. Danach startest du das Spiel OHNE CD damit wir wissen wo die CD-Abfrage berhaupt steckt. Wenn wir die Fehlermeldung kennen und die Abfrage vor der Fehlermeldung erscheint wissen wir wo die Abfrage ist. Also OHNE CD starten und Fehlermeldung notieren. Sie lautet: "This Game requires you to have your Monopoly StarWars CD-ROM in a drive"



W32Dasm
------------
Jetzt W32Dasm starten und auf "Disassembler" und "Open file to Disassemble" klicken. Dann Monopoly.exe whlen.
W32Dasm braucht nun eine weile um die Datei zu Disassemblieren. Dann auf den knopf "StrnRef" klicken. Er befindet sich oben rechts neben dem Druckersymbol. In folgendem Fenster sind alle StringReferences die das Spiel besitzt aufgelistet. Hier msste auch die Fehlermeldung zu finden sein, also liste runterscrollen bis du sie siehst. Aus platzgrnden wird nicht die ganze Fehlermeldung hier aufgeschrieben sondern nur ein teil. Du msstest folgendes finden: "This game requires you to have "
Hier doppelt draufklicken. Dann das StringReferences Fenster schliessen...
W32Dasm msste folgenden Bildausschnitt zeigen:



* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0043B844(C)
|
:0043B7A5    6815100000           push 00001015

* Possible StringData Ref from Data Obj ->"MONOPOLY Star Wars"
                                      |
:0043B7AA    68E4A14800           push 0048A1E4

* Possible StringData Ref from Data Obj ->"This Game requires you to have "
                                        ->"your Monopoly Star Wars CD-ROM "
                                        ->"in a drive."




Ok, hier wird die Fehlermeldung auf den Bildschirm ausgedruckt. Jetzt muss man gucken wo diese Programmstelle im Programm aufgerufen wird. Das sehen wir ganz oben direkt nach "Referenced by a (U)nconditional or (C)onditional Jump at Address:".
Die Adresse lautet "0043B844". Von hier wird diese Programmstelle aufgerufen. Also springen wir mit W32Dasm gleich mal dahin... dafr klickst du auf "Goto" und dann auf "Goto Code Location". In dem Fenster tippst du "0043B844". dann klickst du auf "OK". W32Dasm msste dann folgenden Bildausschnitt zeigen:



* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0043B7C4(C), :0043B816(U)
|
:0043B842   85FF           test edi, edi
:0043B844   0F845BFFFFFF   je 0043B7A5
:0043B84A   E8A187FDFF     call 00413FF0


Hier sind glaube ich ein paar erklrungen ntig...


* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0043B7C4(C), :0043B816(U)
|
:0043B842   85FF           test edi, edi     <--- Testet ob CD vorhanden ist oder nicht
:0043B844   0F845BFFFFFF   je 0043B7A5       <--- Ist CD nicht vorhanden springe nach 0043B7A5
:0043B84A   E8A187FDFF     call 00413FF0     <--- Unwichtig...


Wir mssen nur das "je" in ein "jne" ndern (siehe asscodes.txt). Dann springt er nur zur Fehlermeldung wenn eine CD eingelegt ist. Sollte keine CD eingelegt sein startet er das Spiel.
Also ein doppelklick auf das "je" machen und die Offsetadresse von dieser Zeile notieren. Sie steht am unteren Bildschirmrand nach "@Offset". In diesem Fall lautet sie "0003B844". Das kleine "h" kann weggelassen werden. Jetzt W32Dasm beenden und Hiew laden.



HIEW
-------
In Hiew die Datei "Monopoly.exe" laden und F5 drcken. Dann die gerade notierte Adresse eintippen (also 0003B844).
Du msstest nun ein hnliches Bild wie in W32Dasm sehen. Ganz oben die Zeile mit dem "je". Nun F3 drcken und den Cursor unter die 4 von 0F84 bewegen. 0F84 steht fr "je", 0F85 steht fr "jne". Also die 4 in eine 5 ndern (einfach 5 tippen/NICHT Entf oder Backspace!!) Dann F9 zum Speichern und F10 zum beenden drcken. Nun Monopoly.exe starten...

MONOPOLY
-----------
Starten und... schon wieder die Fehlermeldung! MIST!!!
Aber warte, einmal auf "Wiederholen" klicken, und er startet das Spiel!! Also hast du es doch gecrackt! Gratuliere


SCHLUSSWORT
---------------
Man knnte nun noch weiter suchen bis man die erste Meldung auch gekillt hat, aber mir reicht das frs erste...
Nicht jedes Spiel ist so leicht zu cracken wie StarWars Monopoly. Mach von jeder EXE-Datei die du editierst eine Sicherheitskopie!! Sollte mal was daneben gehen musst du's nicht neu installieren. Ich hoffe ich konnte dir das cracken etwas nherbringen. Das cracken erfordert allerdings viel bung. 
In der beiliegenden Textdatei "asscodes.txt" hab ich die hufigsten Anweisungen im Hex und Assemblerformat mal zusammengefasst.

Sollten noch fragen sein dann mail an Haplo20@gmx.de

Man kann das Spiel auch so cracken das es egal ist ob du eine CD eingelegt hast oder nicht, das heisst, die CD-Abfrage wird nicht umgekehrt sondern komplett entfernt. Solltest du wissen wollen wie das geht, dann Mail an Haplo20@gmx.de

Ich hoffe ich habs so einfach wie mglich erklrt, bei Kritik oder Wnschen fr mein nchstes Tutorial ("Howtocrack_LegoSchach") mail mir (Adresse schon 2x erwhnt).

Ok, ich sag dann Ciao, werd ein guter cracker, und wenn du einer bist dann schreib Tutorials!!
So hab ich mir auch das Cracken beigebracht!


Haplo













