12/10/99


                          Apollo - Crew
                     ------------------------

                       CraCKing TuTor No.I

                          by BigImp

                     ------------------------


              INHALT

              1.  Einleitung
              2.  Anvisiertes Opfer
              3.  Bentigte Progs
              4.  Theorie
              5.  Praxis
              6.  Schlusswort




# EINLEITUNG

Seid gegrt! 
Mein Name ist BigImp und ich gehre der cracking group Apollo - Crew an.
Dieses nette Tutorial widmet sich dem cracken von time trail limits 
bzw. dem cracken eines limitierten Zeitraums, in dem das programm zu
testzwecken noch luft, danach aber eine Registrierung gegen Bares
verlangt. Fr Profis drfte der Tutor uninteressant sein.


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 MP3-Wolf sein. Dabei handelt es sich um 
ein Programm, das in erster Linie dem Download von Mp3 - Files und 
Player aus dem Internet dient.


Was ihr kennt kein MP3!
mag da nun manch einer schrein... 
Egal! Das Programm ist ideal fr newbies zum cracken und nen
(Hat zwar keinen groen Effekt aber immerhin habt ihr ein Proggie mit
simpler timelimit protection ;-)...) 
Ich hab fr diesen Tutor die Shareware-Version 1.4 genommen.


# BENTIGTE 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 smtlichen Tutors
werdet ihr vom begehrten Hiew lesen das ein groteil der Szene benutzt,
der HexWorkshop ist allerdings wesentlich komfortabler und reicht hier
vllig. Diese Tools sind auch schon fast alles was ihr braucht und 
Pflichtprogramme zum Cracken. 
Ihr findet beides auf der site (http://crackstore.com) (Du kennst die 
URL nicht? Lamer!). Der HexWorkshop sollte
aber auch auf smtlichen PC Magazinen zu finden sein.




# THEORIE

Zunchst mal das Prinzip: 
Also, nehmen wir mal an, wir haben die Mglichkeit, einen 
Registrier-Namen und Registrierungscode einzugeben. Zu 99,9 % geben 
wir den falschen Key ein und es erscheint irgendeine blde Meldung wie 
zB "You have entered an incorrect code". Es gibt also im Programm eine 
Stelle, die den Code berprft und sollte der falsch sein, so springt 
das Programm zu der Stelle, die das Fenster mit der Fehlermeldung 
bringt. Also mssen wir eigentlich nur das Programm so umzuschreiben, 
damit es eine Positive Rckmeldung gibt wie zum Beispiel "Thank you 
for registration!". Am einfachsten lsst sich das wohl folgend 
ausdrcken: Wenn Registration Key falsch, dann setze den Wert 1 
(Sprung zur Fehlermeldung), ansonsten setze den Wert 0 (Registration 
erfolgreich).

Natrlich klingt das alles sehr einfach, doch du wirst schon merken, 
dass es nicht immer so einfach ist. So, jetzt haben wir uns aber genug 
mit der Theorie beschftigt. Auf zur Praxis! 

  



# PRAXIS

Also, wenn du es dann hast, installiere es gleich mal und fhre es aus.
Dann gehen wir aufHelp / Register, es erscheint ein Fensterwo wir einen
Registration-Key eingeben knnen. Also, das tuen wir doch glatt. Wir 
geben mal "08154711" ein (ist einfach so eine Nummer, die mir gerade 
eingefallen ist). Und das besttigen wir gleich mal und was kommt 
jetzt? So eine blde Meldung: " Invalid Registration Name or Serial Number"
 
Diese Meldung ist sehr wichtig, also notieren wir sie uns. Nun drcken 
wir OK und Cancel und schon sind wir wieder drausen. So, nun gehen wir 
in den Windows Explorer und erstellen eine Kopie von "MWOLF32.exe" und 
nennen sie mal "Wolf.exe". Ist dies geschehen, so starten wir mal den 
Disassembler (W32dsm87) und Laden die Wolf.exe ein.
Sehr gut. Danach lasset uns suchen.
Also ab in den W32Dasm, noch schnell eine geeignete Schriftart 
auswhlen, falls ihr im disassemblierten Text nur Zeichen seht, und 
dann auf  Refs/String Refs geklickt und dann fix nach unserer Meldung 
gesucht. 

Ahh, es geht alphabetisch weiter... 

Such nach "I"... Jepp!

Such nach "Invalid"... Jop!

"Invalid Registration Name or Serial Number" Bingo!

Also zweimal draufgeklickt und schon befinden wir uns an der entsprech-
enden Location:

* Possible StringData Ref from Data Obj ->"Invalid Registration Name or 
Serial Number"
                                  |
:0040354E  68245B4100             push 00415B24

Da ja der Schuldige fr 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:


:00403549 59			  pop ecx
:0040354A 7518                    jne 00403564  <--Hier 

Das ist nun wichtig. Hier steht "jne 00450284". "Jne" bedeutet soviel wie "Jump if not equal". Also was liegt nun nher, als das ganze in ein "je" sprich "Jump if equal" umzuwandeln. Zuvor musst du aber folgendes wissen:

JNE hat die Zahl 75 oder 85
JE hat die Zahl 74 oder 84

Mit diesem Wissen ist es ein leichtes, das ganze umzuwandeln. Doch 
hier sind wir auch schon an die Grenze des Disassemlbers gestoen, 
also starten wir den Hexworkshop und laden die Datei "Webbak.exe". 
Nun mssen wir uns aber zuvor noch etwas im Disassembler notieren, und 
zwar den Offset von der Stelle, an der wir gerade stehen (jne 00403564)
und den finden wir in der Statusleiste des Disassemblers.
Wir sehen dort also dieses nette jbe das fr "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 whlen merken
wir, da wir ber die Fehlermeldung hinwegfliegen. Warum nicht gleich
immer ber die Fehlermeldung hinweg jumpen? Knnen wir ihm nicht sagen
"Spring, egal was auch geschehe !" ? 
Ja, und zwar mssten 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 fr den Hexeditor.
Also schnell abgelesen. Bei mir wre das 0000294Ah. 
Also ab in den Hexworkshop, Datei Laden und nach der Hex 
Adresse suchen. Edit / Goto Adresse eingeben 0000294A  ohne h und 
schwubs sind wir hier.

00002940 50E8 DC9D 0000 5985 C059 7518 6A30 6824
                           |       |
                          84      74

Wir ndern die zwei Jump-Adressen in 84 und 74 um.
Speichern alles ab und Starten die Umbenante Datai Wolf.exe ber den 
Explorer, gehen wieder auf Register, schreiben unseren Namen und unsere
SerNr rein und es kommt diese Meldung.


License
This is a registered version of MP3-Wolf, usw.........




Jetzt habt ihr euren supertollen time trail crack und wollt ihn be-
stimmt releasen. Pflicht ist dann natrlich eine nette protzige NFO zu 
schreiben und die Exe Dateien mit ner Patchengine zu compilen.
NFO und Patch Exe zipt ihr dann und knnts z.B. an Freunde weitergeben.



Schon habt ihr eine Vollversion, nur noch Accept drcken und das Prog 
Neustarten.

Schluwort

Das wars nun endgltig. Solltest du Fragen, Kritik oder Lob zu meinem 
Tutorial haben, dann schreib mir einfach ein Mail 
BigImp@T-Online.de






CY@ 	BigImp