05/02/99 GERMAN HACKiNG APPLiANCE ------------------------ CraCKing TuTor No.I by bLaCk-nITe ------------------------ INHALT 1. Einleitung 2. Anvisiertes Opfer 3. Benötigte Progs 4. Theorie 5. Praxis 6. Schlusswort # EINLEITUNG Seid gegrüßt! Mein Name ist bLaCk-nITe und ich bin leader der hacking group GHA. Dieses nette Tutorial widmet sich dem cracken von time trail limits bzw. dem cracken eines limitierten Zeitraums, in dem das programm zu testzwecken noch läuft, danach aber eine Registrierung gegen Bares verlangt. Für Profis dürfte der Tutor uninteressant sein. Das cracken des time limits ist z.B. dann sinnvoll wenn das shareprog keine Registrierung via regcode/serial erlaubt. Falls es euch lediglich um das cracken einer Reg Routine geht schaut euch nach den tutorials anderer Groups um. Dieser Tutor soll sich halt nur auf einen timelimit crack beziehen. # ANVISIERTES OPFER Opfer dieses Tutorials soll mal Feurio sein. Dabei handelt es sich um ein Programm, das in erster Linie dem brennen von Audio CDs dient. "Waaas ? Isch hab doch gar keinen Brenner !" mag da nun manch einer schrein... Egal! Das Programm ist ideal für newbies zum cracken und nen Brenner braucht ihr auch nicht zwingend denn das Prog läuft auch ohne. (Hat zwar keinen großen Effekt aber immerhin habt ihr ein Proggie mit simpler timelimit protection ;-)...) Ich hab für diesen Tutor die Beta-Test-Version 0.931ß genommen, mein Tutor sollte aber auch mit den neueren Versionen funktionieren. Mögliche URLs für den Download wären z.B.: 1.) http://www.feurio.de 2.) http://welcome.to/CDR_ZONE Nachdem download dann erstmal installieren ;-D # BENÖTIGTE PROGS Zum cracken braucht ihr noch ein paar wichtige Tools. Zum einen den Disassembler W32Dasm v8.9 (Der gibt uns den Code) und ein Hex-Editor (Zum ändern der Dateien). Ich nehme als Hex-Editor den HexWorkshop v2.54 als ziemlich komfortables Tool. In sämtlichen Tutors werdet ihr vom begehrten Hiew lesen das ein großteil der Szene benutzt, der HexWorkshop ist allerdings wesentlich komfortabler und reicht hier völlig. Diese Tools sind auch schon fast alles was ihr braucht und Pflichtprogramme zum Cracken. Ihr findet beides auf unserer site (http://gha.home.pages.de) oder beim Crackstore (Du kennst die URL nicht? Lamer!). Der HexWorkshop sollte aber auch auf sämtlichen PC Magazinen zu finden sein. # THEORIE So, nun laßt uns mal scharf überlegen. ;-) Bei jedem Start checkt das Programm ob die Zeit abgelaufen ist oder nicht. Wenn das Programm nun seine Testzeit überschritten hat und der dumme user das Programm startet kommt ja bekanntlich irgendeine Meldung wie z.B. "... has expired" oder "Testzeit um. Registrieren sie sich." und das Programm verbietet meißt das Fortsetzen oder Weiterbenutzen. Eine Möglichkeit ist hier meißt das zurücksetzten der Systemzeit was aber auf die Dauer und erst recht bei einem Prog das man oft benutzt nervig ist. Was liegt also näher als das Programm so umzuschreiben, daß es ihm scheißegal ist ob die Zeit abgelaufen ist oder nicht ? Machen ma das doch einfach ! :-) # PRAXIS Also packen wirs an. Wir entpacken den W32Dasm in irgendein Directory und starten ihn. Jetzt wählen wir Disassembler/Open File To Disassemble und dann die Feurio.exe und unser W32Dasm beginnt zu schuften... Fertig? Gut! Jetzt müssen wir erstamal die Systemzeit faken falls das Programm bei Euch noch ohne Fehlermeldung startet. Ich denke dazu muß ich nichts weiter erklären ;-) Wenn die Nutzungszeit jetzt also für Feurio abge- laufen ist starten wir doch einfach mal die Feurio.exe... "Diese Feurio!-Kopie ist abgelaufen. bla bla bla" Sehr gut. Danach lasset uns suchen. Also ab in den W32Dasm, noch schnell eine geeignete Schriftart auswähl- en, falls ihr im disassemblierten Text nur Zeichen seht, und dann auf Refs/String Refs geklickt und dann fix nach unserer Meldung gesucht. Wühl, wühl, wühl... Ah, es geht alphabetisch weiter... Such nach "D"... Jepp! Such nach "Diese"... Jop! "Diese Feurio!-Kopie ist abgelaufen." Bingo! Also zweimal draufgeklickt und schon befinden wir uns an der entsprech- enden Location: * Possible StringData Ref from Data Obj ->"Diese Feurio!-Kopie ist abgelaufen" | :0046C00C 6898244900 push 00492498 Da ja der Schuldige für diese Message irgendwo weiter oben sitzen muß scrollen wir den Text also mal etwas weiter hoch bis wir das sehen, was direkt über der Meldung kommt: * Reference To: MSVCRT40.time, Ord:045Dh <--Hier ist also schon mal von "Time" die Rede ;-) | :0046BFE2 FF15345B4900 Call dword ptr [00495B34] <--Hier beginnt die Routine :0046BFE8 83C404 add esp, 00000004 :0046BFEB B93C000000 mov ecx, 0000003C :0046BFF0 99 cdq :0046BFF1 F7F9 idiv ecx :0046BFF3 99 cdq :0046BFF4 F7F9 idiv ecx :0046BFF6 99 cdq :0046BFF7 BF18000000 mov edi, 00000018 :0046BFFC F7FF idiv edi :0046BFFE 3D43290000 cmp eax, 00002943 <--Hier wirds wieder interessant, da unsere Zeit mit irgendwas verglichen wird :0046C003 7618 jbe 0046C01D <--Höchst interessant. Das jbe ist der Übeltäter! :0046C005 6A00 push 00000000 :0046C007 6810100000 push 00001010 Wir sehen dort also dieses nette jbe das für "Jump if below or equal", also sozusagen in diesem Fall "Mach weiter wenn Zeit noch nicht abge- laufen", die Systemzeit also unter (below) dem vom Programm vorgeschri- ebenen Limit liegt oder gleich (equal) ist. Wenn wir auf den jbe gehen und Execute Text/Execute Jump wählen merken wir, daß wir über die Fehlermeldung hinwegfliegen. Warum nicht gleich immer über die Fehlermeldung hinweg jumpen? Können wir ihm nicht sagen "Spring, egal was auch geschehe !" ? Ja, und zwar müssten wir dazu den jbe in ein jmp "Jump directly to" ab- ändern. Also gehen wir wieder mit dem Balken auf unseren jbe und schauen uns die Leiste ganz unten im W32Dasm an. Da muss irgendwo eine Stelle mit @Offset 000... sein. Den Offset brauchen wir jetzt für den Hexeditor. Also schnell abgelesen. Bei mir wäre das 0006B403. Also ab in den Hexworkshop (oder halt Hiew, egal...) und nach der Hex Adresse suchen. Bei mir sieht diese Stelle so aus: 0006B400 2900 0076 186A 0068 1010 0000 6898 2449 -- -- Die unterstrichene Stelle ist der Hexcode für den jbe. Zum Beweis: in der zweiten Spalte im W32Dasm Code Teil seht ihr stets den Hexcode des Befehls; kommt also genau hin. Diese Stelle gilt es also abzuändern. Wir wollten ja einen jmp setzen und der ist in Hexcode schlicht EB. Also tippen wir, wenn der Cursor im Hexeditor vor der 76 18 steht einfach EB ein und speichern das ganze als Feurio_Cracked.exe. Jetzt mal ab ins Feurio Verzeichnis und nochmal die alte Feurio.exe ge- startet: Unsere Fehlermeldung... Jetzt starten wir doch mal unsere Feurio_Cracked.exe: Spannung... Na bitte! Keine Fehlermessage! Goil! So, das wäre geschafft. Wer jetzt noch den CD-Writer von Feurio ge- crackt haben will wiederholt die ganze Prozedur nochmal mit der entsp- rechenden Datei, also der Feurio_Write.exe. Geht genauso einfach. Jetzt habt ihr euren supertollen time trail crack und wollt ihn be- stimmt releasen. Pflicht ist dann natürlich eine nette protzige NFO zu schreiben und die Exe Dateien mit ner Patchengine zu compilen. NFO und Patch Exe zipt ihr dann und könnts z.B. an Freunde weitergeben. # SCHLUSSWORT So, jetzt probiert Euch mal an anderen Progs... Geht nicht so einfach wie hier ? Sowas aber auch ! ;-) Sollte es noch Fragen geben mailt mir an: black-nite@gmx.net Nicht vergessen unsere Site zu besuchen: http://gha.home.pages.de Bei genügend Resonanz schreib ich vielleicht mal irgendwann noch einen Tutor. Mögliche Themen könntet Ihr mir ja vorschlagen... CY@ bLaCk-nITe [GHA]