//**cracking tut von alpine**// //*****und******// //**the immortal descendants**// Übersetzt aus dem englischen von NiKai [Blizzard] #3 05.1999 Grüße Heute behandle ich ein Programm, das mit einem Nag und einem time trial geschützt ist. Ich werde die grundlegenden Dinge nicht erklären, deshalb ist dieses tut nichts für Anfänger. Aber wenn ihr mein erstes tut gelesen hast, solltet Ihr meinen Ideen folgen können. Wir brauchen: Softice Winspect.Exe // ist als smu.zip in den cracker notes von Torn@do pc_offset.zip von iczelion oder wdasm // um die opcodes zu erhalten ws_ftp Pro // unser Ziel, kann man bei www.ipswitch.com ziehen lets fetz Nach dem Installieren unseres Ziels starten wir es zum erstem Mal und erhalten einen nagscreen. Wir klicken auf "Continue" und genießen das Programm. Dann beenden wir das prog und starten es erneut. Wir erhalten den nagscreen nicht mehr. Okay, wir wissen, daß das prog einen time-trial-Schutz hat, also setzen wir unsere Systemzeit vorwärts (mehr als 30 Tage). Jetzt starten wir das prog erneut und, Überraschung, ein nagscreen sagt uns, daß das prog abgelaufen ist. Wir starten winspect und erhalten den handle vom window. Breakpoint (bmsg) drauf mit wm_destroy. Jetzt drücken wir "Buy later". Wir landen in softice. Dann F12, um zurück in die Haupt.exe zu gelangen. Wir finden uns ein paar Zeilen unter dialogboxindirecta oder dialogboxparama wieder (kann mich nicht mehr genau erinnern). Dann drücken wir F10 bis wir an dem ret vorbei sind. Wir sollten folgendes finden: :0041191D 68234E0000 push 00004E23 :00411922 8B4508 mov eax, dword ptr [ebp+08] :00411925 50 push eax :00411926 8B450C mov eax, dword ptr [ebp+0C] :00411929 50 push eax :0041192A E84BF6FFFF call 00410F7A :0041192F 83C410 add esp, 00000010 <--...here :00411932 8B45A0 mov eax, dword ptr [ebp-60] :00411935 50 push eax Jetzt wissen wir, daß der Call bei 0041192a unseren nagscreen ausgelöst hat. Wir wissen auch, daß nach dem Drücken "Buy later" das Programm aussteigt. Wir wollen ermitteln, welche Anweisung den exitprocess auslöst. Dazu tracen wir weiter, bis wir den folgenden Sprung erreichen: :00423D42 83C410 add esp, 00000010 :00423D45 33C0 xor eax, eax :00423D47 E971070000 jmp 004244BD<--...here :00423D4C 837DE400 cmp dword ptr [ebp-1C], 00000000 :00423D50 0F8538000000 jne 00423D8E Wenn wir den Sprung in softice ausführen, erhalten wir eine ungültige Adresse, und nach drei Mal F10 drücken, kommt Exitprocess. Die nächste Anweisung cmp.... ist Teil einer Routine, die das Prog startet. Ich weiß dies, weil ich durch das Programm getracet bin als es noch nicht abgelaufen war. Deshalb ist das einzige, was wir jetzt machen müssen, den Sprung auszunoppen. Wir könnten auch den Sprung zu jmp 00423d4c machen, das hat die gleiche Wirkung. Verstanden? OK, starten wir das prog erneut und wir erhalten den Nag. Jetzt drücken wir auf "Buy later". Anstatt auszusteigen, läuft das prog, obwohl es abgelaufen ist. Das letzte, was wir zu machen haben, ist den nag zu cracken. Wir erinnern uns noch an den Call, den wir nach dem breakpoint auf bmsg bekommen haben? Es war der Call zu 00410F7A und die Adresse war 0041192A. Besorgen wir uns die opcodes und noppen es aus. Ein weiteres Programm ist reversed. alpine alpine@gmx.at Grüße an Immortal Descendants und alle die ich kenne.