..:: Tutorial#3 by Firestar ::.. Date: 09/27/2000 Unser Opfer: ============= Battlezone 2 v1.12 Wir benötigen: =============== - WinDasm *.* - Hiew *.* oder irgend nen anderen HexEditor - Grundlegendes Wissen über den Umgang mit WinDasm - Einen Stift und einen Zettel um uns die Offsets aufzuschreiben - Gute Musik die im Hintergrund läuft! (Ich bevorzuge Böhse Onkelz ;) Also fangen wir an: ==================== Falls ihr das Update auf Version 1.12 noch nicht habt dann ladet ihr euch das jetzt erstmal runter. Das könnt ihr auf www.3dfiles.com machen. So nachdem ihr euch nun das Update heruntergadel und installiert habt startet ihr das Spiel mal ohne das die Battlezone2-CD im CD-Rom-Laufwerk ist. Aber das wird nicht klappen, ihr bekommt dann ein Fenster zu sehen, dass euch auffordert die CD einzulegen. :( Was machen wir jetzt? Genau wir starten WinDasm und laden die 'bzone.exe' hinein. Dann gehen wir auf 'Refs' -> 'StringDataReferences' und suchen den Eintrag 'Please insert the BZ2 CD'. Das ist die Stelle bei der das Fester aufgerufen wird das uns mitteilt, dass sich die CD nicht im Laufwerk befindet! Dann scrollen wir 4 Zeilen hoch. Dann müsstet ihr an folgender Stelle sein: * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:004849B7(C) <-In dieser Zeile befinden wir uns jetzt! Dann klicken wir 2 mal mit der rechten Maustaste auf '|:004849B7(C)', um zu dem Jump zu kommen der die Fehlermeldung aufruft. Nun sind wir hier: :00489A5 FFD5 call ebp :00489A7 83F802 cmp eax, 00000002 :00489AA 0F84B6000000 je 00484A66 <- Der erste Jump der die Fehlermeldung aufruft :004849C0 E80BEB1200 call 005B34C0 :004849B5 85C0 test eax, eax :004849B7 7487 je 0048490 <- Und hier ist der zweite Jump zur Fehlermeldung ... .... ..... Geht in die Zeile in der die beiden Jumps sind und schreibt die Offsets davon auf (849AA, 849B7). Nun schließt ihr WinDasm und startet Hiew. Ladet wieder die .exe-Datei von Battlezone hinein und geht zu den beiden Offsets um sie umzuschreiben. Dazu drückt ihr bei Hiew die F5-Taste und gebt dann den ersten Offset ein. (849AA) Nun schreibt ihr die bytes von '0F84B6000000' in '90EBB6000000' um. Das bewirkt, dass das Spiel immer gestartet wird, auch wenn keine CD eingelegt ist. Er springt also immer! Aber es gibt ja noch den 2. Sprung. Den müssen wir nun auch noch umschreiben! Mach einfach aus dem '7487' ein 'EB57'. Diese Änderung bewirk wieder genau das gleiche wie die erste, es wird immer gesprungen, egal ob die CD drin ist oder nicht! So das was schon wieder für dieses mal. Ich hoffe das mein Tut euch ein bischen geholfen hat. Wenn ihr irgendwas nicht versteht, mich kritisieren wollt, mir sagen wollt wie gut mein Tut ist ;) oder sonst irgendwelche Fragen an mich hab könnt ihr euch ja bei mir melden. Vielleicht schreib ich dann auch mal wieder ein Tutorial für euch. :) Greetz fly out to: =================== ACG, e!, tca, Ahlman, EnigmA, WebToaster, and all crackes all around the world ;) Contact me at: =============== E-Mail: fire_star@gmx.net ICQ: 55414485 Cu Firestar