05/02/99


                     GERMAN HACKiNG APPLiANCE 
                     ------------------------

                       CraCKing TuTor No.I

                          by bLaCk-nITe

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


              INHALT

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




# EINLEITUNG

Seid gegrt! 
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 luft, danach aber eine Registrierung gegen Bares
verlangt. Fr Profis drfte 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 fr newbies zum cracken und nen
Brenner braucht ihr auch nicht zwingend denn das Prog luft auch ohne.
(Hat zwar keinen groen Effekt aber immerhin habt ihr ein Proggie mit
simpler timelimit protection ;-)...) 
Ich hab fr diesen Tutor die Beta-Test-Version 0.931 genommen, mein
Tutor sollte aber auch mit den neueren Versionen funktionieren.
Mgliche URLs fr den Download wren z.B.:

1.)   http://www.feurio.de
2.)   http://welcome.to/CDR_ZONE  

Nachdem download dann erstmal installieren ;-D





# 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 unserer site (http://gha.home.pages.de) oder beim 
Crackstore (Du kennst die URL nicht? Lamer!). Der HexWorkshop sollte
aber auch auf smtlichen PC Magazinen zu finden sein.




# THEORIE

So, nun lat 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 meit das Fortsetzen oder Weiterbenutzen.
Eine Mglichkeit ist hier meit das zurcksetzten der Systemzeit was 
aber auf die Dauer und erst recht bei einem Prog das man oft benutzt
nervig ist. Was liegt also nher als das Programm so umzuschreiben, da
es ihm scheiegal 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 whlen wir Disassembler/Open File To Disassemble und dann die
Feurio.exe und unser W32Dasm beginnt zu schuften...
Fertig? Gut!
Jetzt mssen wir erstamal die Systemzeit faken falls das Programm bei
Euch noch ohne Fehlermeldung startet. Ich denke dazu mu ich nichts 
weiter erklren ;-) Wenn die Nutzungszeit jetzt also fr 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 auswhl-
en, falls ihr im disassemblierten Text nur Zeichen seht, und dann auf 
Refs/String Refs geklickt und dann fix nach unserer Meldung gesucht. 

Whl, whl, whl... 

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 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:

* 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  <--Hchst interessant.  Das jbe ist der beltter!  
:0046C005 6A00                    push 00000000
:0046C007 6810100000              push 00001010


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 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 fr 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 abzundern. 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 wre 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 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.




# 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 gengend Resonanz schreib ich vielleicht mal irgendwann noch einen 
Tutor. Mgliche Themen knntet Ihr mir ja vorschlagen...


CY@ 	bLaCk-nITe [GHA]



















 























