Servas mal wieder. Da ich endviele mails gekricht hab von leuten die mein erstes turorial net gecheckt haben hab ich mir gedacht schreib ich mal eins für beginning beginners. Also für die die überhaupt keine Ahnung haben. Denn ich hatte am anfang auch probleme cracken zu lernen weil mir die ganzen tutors zu hoch waren, und noch dazu auf englisch. Deshalb also dieses tutor, ich hoffe es bringt euch was. Noch n kleiner tip: Lest das tutor von snoopee (www.crackstore.com). Das hat mir geholfen. Wie in jedem tutor bitte ich rechtschraibfehla zu verzeihen. Das schreiben is schon genug arbeit. Nun ist die frage was wir cracken. Am besten ein game das jeder hat. Und das net zu schwer ist. Da mir nix einfällt nehm ich einfach Need for speed 3. Ihr braucht: 1. Windasm 8.9 2. Hiew 6.x 3. Need for speed 3 4. zeit um das alles zu lesen und zu verstehen. Hiew und Windasm gibts bei www.crackstore.com Also, es gibt zwei (mir bekannte) möglichkeiten etwas in eine Form zu bringen das man etwas anders sehen kann als irgendwelche zeichen wenn man es mit notepad oder mit nem Hexeditoröffnet. Das nennt man disassemblieren. und dafür gibt es windasm. Die andere Möglichkeit ist Softice, aber das lass ich hier raus da es eher für apps ist (serials rausfischen und so). Also Windasm disassembliert eine Datei, das heisst es zeigt den ungefähren quelltext. (Fehlermeldungen und so) Dann gibt es wieder 2 möglichkeiten etwas was man vorher disassembliert hat zu verändern. Dazu muss man natürlich wissen was und um das rauszufinden is eben windasm da. Doch windasm kann nix verändern sondern nur anzeigen. 1. gibt es hiew. hiew zeigt alles so an wie windasm, aber man kanns verändern. Jetzt fragt ihr euch wozu man dann windasm braucht wenn man alles mit hiew machen kann? ganz einfach: hiew zeigt nicht die Fehlermeldungen und deshalb weiss man wenn man nur hiew benutzt net was man ändern muss. Aber das wird hoffentlich später noch deutlich. 2. gibt es den guten alten hexeditor. Ich benutze aber hiew, weil es alles so anzeigt wie windasm und somit irgendwie übersichtlicher ist. Also, jetzt gehts los. Zuerst installieren wir Needforspeed3. Immer vollinstalationen machen. Wir gehen ins nfs3 dir und machen eine kopie von der nfs3.exe (rechtsklick, kopieren, im selben fenster einfügen) Es müsste dann eine Datei dasein die "kopie von nfs3.exe" heisst. Wenn wir das haben öfnnen wir windasm. Wir klicken auf "disassembler" (oben links) und wählen "open file to disassemble". Wir wählen die datei "kopie von nfs3.exe" aus dem nfs3 dir und warten bis er fertig ist. Nun kann es sein das ihr nur schrott seht. Dann müsst ihr eine schriftart wählen. Dazu auf "Disassembler", "Font", "select Font" klicken und ne schrift wählen. ich empfehle courir da mann damit am meissten überblick hat. Wenn ihr das habt erstmal nfs3 OHNE cd im Laufwerk starten. Dann kommt folgende message: "Um need for speed 3 spielen zu können, muss die cd im cd-rom-laufwerk eingelegt sein." Das merken wir uns und gehen wieder in windasm. Dort klicken wir jetzt aufs "refs" menü (oben rechts) und wählen "string data references". Dort sind jetzt alle Fehlermeldungen und sonstige sachen. Jetzt suchen wir nach der Fehlermeldung von vorher, also: "Um need for speed 3 spielen zu können, muss die cd im cd-rom-laufwerk eingelegt sein." Doch solang wir auch suchen, sie ist net da. scheisse. sind die von ea wohl doch schlau. Denkste. Denn das was die machen ist eine beliebte art die Meldung zu verstecken. das macht es für uns aber net schwerer. Wir starten nfs3 nochmal ohne cd und da steht wieder( wei solls auch anders sein): "Um need for speed 3 spielen zu können, muss die cd im cd-rom-laufwerk eingelegt sein." Doch das lassen wir auser acht und schaun uns an was darüber steht. Da steht "Need for speed 3". so, danach suchen wir jetzt in windasm(wie vorher). Und siehe da, wir finden es. Es gibt da "Need for speed 3" und "need for speed III". Welches nehmen wir? natürlich "Need for speed 3" weils so über der Fehlermeldung steht. also klicken wir zweimal auf "Need for speed 3" und schwupp sind wir an einer anderen stelle. Das schaun wir uns jetzt mal an. Da steht: (n bisserl über "Need for speed 3": Possible StringData Ref from Data Obj ->"Need for Speed 3" 004B637A 683CFE5300 push 0053FE3C 004B637F 8B5485DC mov edx, dword ptr [ebp+4*eax-24] 004B6383 52 push edx 004B6384 6A00 push 00000000 Reference To: USER32.MessageBoxA, Ord:001Fh 004B6368 2EFF1564475300 call dword ptr cs:[00534764] 004B638D 31C0 xor eax, eax 004B638F E870990200 call 004DFD04 Reference by a (U)nconditional or (C)onditional Jump at Adress: 004B6362(C) 004B6394 E807FFFFFF call 004B62A0 004B6399 85C0 test eax, eax 004B639B 755A jne 004B63F7 004B639D 31D2 xor edx, edx 004B639F EB19 jmp 004B63BA Reference by a (U)nconditional or (C)onditional Jump at Adress: 004B63C3(C) 004B63A1 88D0 mov al, dl 004B63A3 0441 add al, 41 004B63A5 8845F4 mov byte ptr [ebp-0C], al 004B63A8 8D45F4 lea eax, dword ptr [ebp-0C] 04B63AB E8809F0300 call 004F0330 <----- ruft nach der cd 004B63B0 85C0 test eax, eax <----- testet ob sie da ist 004B63B2 7543 jne 004B63F7 <----- wenn es nicht zutrifft das sie nicht da ist (also wenn sie da ist) springt er zu 004B63F7 Reference by a (U)nconditional or (C)onditional Jump at Adress: wenn sie nicht da ist läuft er zur Fehlermeldung 004B63C5(U) 004B63B4 42 inc edx 004B63B5 83FA1A cmp edx, 0000001A 004B63B8 7D0D jge 004B63C7 Reference by a (U)nconditional or (C)onditional Jump at Adress: 004B639F(U) 004B63BA 89DO mov eax, edx 004B63BC E84F300400 call 004F9410 004B63C1 85C0 test eax, eax 004B63C3 75DC jne 004B63A1 004B63C5 EBED jmp 004B63B4 Reference by a (U)nconditional or (C)onditional Jump at Adress: 004B63B8(C) 004B63C7 B906000000 mov ecx, 00000006 004B63CC 8D7DC4 lea edi, dword ptr [ebp-3C] 004B63CF BEAC564B00 mov esi, 004B56AC 004B63D4 6A30 push 00000030 004B63D6 A1503A7A00 mov eax, dword ptr [007A3A50] 004B63DB F3 repz 004B63DC A5 movsd Possible StringData Ref from Data Obj ->"Need for Speed 3" <---- Fehlermeldung, das cd nicht da ist 004B63DD 683CFE5300 push 0053FE3C 004B63E2 E84F300400 mov ecx, dword ptr [ebp+4*eax-3c] 004B63E6 85C0 push ecx 004B63E7 75DC push 00000000 Reference To: USER32.MessageBoxA, Ord:001Fh 004B63E9 2EFF1564475300 call dword ptr cs:[00534764] 004B63F0 31C0 xor eax, eax 004B63F2 E80D990200 call 004DFD04 <---- Hier ist schluss und er bricht ab Reference by a (U)nconditional or (C)onditional Jump at Adress: 004B639B(C), :004B63B2(C) 004B63F7 89EC mov esp, ebp <---- Hier springt er hin wenn die cd drin ist und macht dan weiter 004B63F9 5D pop ebp 004B63FA 5F pop edi 004B63FB 5E pop esi 004B63FC 5A pop edx 004B63FD 59 pop ecx 004B63FE 5B pop ebx 004B63FF C3 ret . . Nun schaut man sich immer alle jumps mal an. (Stehen alle weiter unten erklärt) Die wichtigisten sind jmp (Spring immer), je (jump if equal) und jne (jump if not equal). Interessant ist wenn irgendwo ein jne mit einem call und test dafor steht. Denn bei call wird die cd gesucht und bei test getestet ob sie da is. (Nicht bei jedem call sucht er die cd!!!) Am besten ist ein jump mit einem call, dann einem test und dann der jump der unter die Fehlermeldung springt. (Die adresse steht ganz links, wohin der jump springt steht rechts neben dem jump). also schaun wir uns den oben markierten jne 004B63F7 an weil ein call und ein test davor sind. Ausserdem springt er über die Fehlermeldung. ("Need for speed 3"). jne 004B63F7 heisst springe zu 004B63F7 wenn wenn die bedingung nicht erfüllt ist. Doch welche bedingung? Natürlich die das die cd NICHT im laufwerk ist. (vorher hat er ja getsetet ob sie da ist) Also in dem Fall: Springe NICHT zu 004B63F7 wenn die cd NICHT im laufwerk ist. Klar, oder? Also wenn die cd nicht im laufwerk ist lässt er den jump weg und läuft weiter. Und was kommt danach? Unsre Fehlermeldung "Need for speed 3". Und was machen wir nun? Wie wär's wenn wir den jne in einen jmp (spring immer) ändern? dann würde er zwar testen ob die cd da ist aber danach springt er immer über die Fehlermeldung und lässt sie somit weg, weil er denkt das die cd im Laufwerk ist, da er ja den jne nichtmehr weglassen kann wenn die cd nicht im Laufwerk ist, weil das jetzt ein jmp ist wo er IMMER springt. Das ist jetzt kompliziert aber ich hoffe ihr checkt es. Wir klicken auf den jne 004B63F7 und merken uns das was in windasm ganz unten hinter dem @offset steht. Die nuller können und das h müssen wir weglassen. Also merken wir uns vom @offset 000B57B2h nur B57B2. nun, da wir jetzt wissen was wir ändern müssen gehn wir in hiew (hiew.exe starten). Dann öffnen wir die datei nfs3.exe im nfs3 dir (F1 für Laufwerk wechseln wenn nfs3 dir zb auf d: ist) und sehen nur hexzeichen. Deshalb drücken wir F4 und wählen Decode. Jetzt schauts genauso aus wie in windasm. Als nächstes F5 drücken und das was wir und gemerkt haben eingeben (B57B2). Jetzt springt er zu dem jne. Aber wir können nicht zum jne hin und ihn in jmp ändern. Wir müssen in der selben zeile (da steht 004B63B2 7543 jne ...) die 75 in eb ändern. warum? weil 75 der hexcode für jne und eb der für jmp ist. (Ich habe alle hexcodes unten aufgelistet) also rücken wir F3 und nun können wir die 75 in EB ändern. (für die 7 ein E und für die 5 ein B) dann steht rechts nimmer jne sondern jmp. (das sollte dann dastehtn: 004B63B2 EB43 jmp ......) [Wenn er einen error bringt wenn man F3 drückt ist die nfs3.exe noch irgndwie geöffnet. vielleicht habt ihr bei der Fehlermeldung net auf ok geklickt.] Nun F9 drücken (das is speichern) und f10 (rausgehen) und nfs3.exe starten. Tada, es geht!!!! Der cd check is wech. Aber halt, was soll das?? Abort message: openhandlea-OPEN FAILED ON x:\GameData\Audio\pc\show(z).map (x is euer cdlaufwerk, z eine zahl) schweinerei!!! Aber kein problem. kopieren wir doch einfach diesen ordner ins nfs3 dir. den gesamten GameData\Audio ordner von der cd in den Gamedata\audion ordner auf der hd kopieren. nfs3.exe starten und es funtzt immer noch net. wieder die selbe Fehlermeldung. d.h er hat irgendwo unser cd Laufwerk gespeichert. das müssen wir wegkriegen. also mal registrirung öffnen (start, ausführen, regedit) und in localmachine, software, ea, nach irgendeiner cd laufwerksangabe suchen. doch fehlanzeige. nix da. naja, weiter suchen. Öffnen wir mal die insatll.win im nfs3 dir. (mit notepad) und was steht da? n paar laufwerksangaben. einfach ändern das das da steht: (Deutsche version) german local .\GameData\ .\GameData\Tracks\ .\GameData\Tracks\Tutor\ .\GameData\CarModel\ .\GameData\Render\pc\ .\GameData\DashHud\ .\GameData\Audio\pc\ .\GameData\Audio\SFX\ .\GameData\Audio\Speech\English\ .\GameData\Audio\Speech\German\ .\GameData\Audio\Speech\French\ .\GameData\Audio\Speech\Spanish\ .\GameData\Audio\Speech\Italian\ .\FeData\art\ .\FeData\text\ .\FeData\text\ .\FeData\save\ .\FeData\stats\ .\FeData\config\ .\FeData\audio\ .\FeData\Art\Slides\ .\FeData\Art\Track\ .\FeData\Art\Showcase\ .\FeData\movies\ .\FeData\stats\prh\  nfs3.exe mal wieder starten und siehe da, es läuft!!!! Have phun with da game!!! anmerkung: Dieses Spiel hat einen der billigsten cd checks die ich jemals gesehen habe. Also fühlt euch nich gleich als meistercracker wenn ihr das alles geschaft habt. Denn um ein meistercracker zu werden braucht man sehr sehr viel erfahrung. Deshalb macht weiter. Lest mein blood2 tutor. das is schon n bisserl schwerer. Und dann versuchts mal selber. zb mit Sin, das is auch easy. Fragen, wünsche, anregungen? Mailt mir. viel glück in eurer crackerkarriere, aDENOZiN, Germany 1999 http://welcome.to/s2oo1 Adenozin@gmx.net Jump Befehle(aus tKC's Tutor #1, thx!) _____________________________________________________ Hex: Asm: Means: 75 or 0F85 jne jump if not equal 74 or 0F84 je jump if equal EB jmp jump directly to 90 nop no operation 77 or 0F87 ja jump if above 0F86 jna jump if not above 0F83 jae jump if above or equal 0F82 jnae jump if not above or equal 0F82 jb jump if below 0F83 jnb jump if not below 0F86 jbe jump if below or equal 0F87 jnbe jump if not below or equal 0F8F jg jump if greater 0F8E jng jump if not greater 0F8D jge jump if greater or equal 0F8C jnge jump if not greater or equal 0F8C jl jump if less 0F8D jnl jump if not less 0F8E jle jump if less or equal 0F8F jnle jump if not less or equal