# best viewed with LAXITY NFO-Viewer
  (oder mit dem befehl EDIT.EXE in der Dos-Box)  

             ͻ
                                          
              ˻             ɻ  ɻ 
              ι             ̹ μ 
                ʼ ˻ ɻ ɻ μ  
              ʼ   ι μ λ  
              ˻ ι ʼ  ̹ λ 
              ʼ ʼ ȼ    ȼ  ȼ 
                                          
             ͼ
              


                   ͻ
                   proudly presents:
                   ͹
                   Zork's Tutorial 2
                      4 beginners   
                   ͼ

                                            
     

I)   Vorwort

II)  Bentigte Toolz

III) Was wir machen werden

IV)  Let's crack


I) Vorwort:

Herzlich willkommen zu meinen zweiten Cracking-Tutorial.
Meine Name ist Zork und ich bin EX-pREzIdeNt der deutschen Crackergruppe SunShine. Seit meinem 
erstem Tutorial bin ich ein Neuer Trial Member bei Fractus 99.
Dieses Tutor ist wieder einmal zum cracken mit dem W32dasm geschrieben.
Ich hoffe auf jeden Fall das dieses Tutorial leicht zu Verstehen ist und euch etwas hilft!!!

II) Bentigte Toolz:

Dissasambler: am besten W32dasm v8.9 (ltere Version geht auch) 
Hexeditor:    am besten Hacker's View v.6.04 (ein genialer Hexeditor mit ASSEMBLER funktion)

Diese beiden Tools gibt's unter http://www.crackstore.com

Ziel Objekt:  Dateitypen 97

Dieses Tool gibt's unter http://www.shareware.de

III) Was wir machen werden

Fr mein zweits Tutorial nehmen wir uns das Programm Dateitypen 97 vor.
Das Programm hat einige Einschrnkungen in der Shareware Version.
=> darum cracken wir ja den scheiss und machen aus der Shareware Version eine 
registrierte Volversion!!!

0043db2d offset 0003cf2d

IV) Let's crack

Zuerst starten wir das tolle Programm Dateitypen 97 und klicken im Men auf "?"
...klick...
dann auf "Lizenz / Registrierung"
...klick...
dann erscheint folgendes Dialog Fenster:

 Ŀ
  Dateitypen 97 - Lizenz             X
 Ĵ
  Eine registrierte...bla bla bla      
  bla bla bla bla bla bla bla bla      
  bla bla bla bla bla bla bla bla      
                                       
  Zur Registrierung...bla bla bla      
  bla bla bla bla bla bla bla bla      
      Ŀ  
      Name: Leupold                  
      Kontonummer: 165186-600        
      Postbank Frankfurt 500 100 60  
        
  oder senden sie... bla bla bla       
      Ŀ  
      Thomas Leupold                 
      Postfach 80 05 23              
      D-65905 Frankfurt              
        
  Diese Daten...  bla bla bla bla      
  bla bla bla bla bla bla bla bla      
    Ŀ   
     Registrierungsformular ffnen   
       
 ʹ
       Bitte geben sie ihren Namen ein:
 Ŀ
                                     
 ٳ
                  Ŀ Ŀ Ŀ 
                  OK Abbrechen ? 
                     
                                       
 

Gebt irgend einen Namen ein...

drckt ENTER
...klack...
Hmmm... 
kein Dialog Fenster erscheint...
was geht jetz ab...
Notepad erscheint mit dem Registrierungsformuar...
tja pech gehabt keine Fehlermeldung :-((((((((
schliesst nun da Menu...
...klick...
klick nun auf das Men "?"
...klick...
dann auf "Info"
...klick...
Dann seht ihr das ein Dialog Fenster...
...lesen wir's mal durch...
Ahhhhhhhhh....
Unregistrierte SHAREWARE-VERSION....
klingt gut...
das merken wir uns......

Als erstes erstellt ihr mal eine Kopie von der "datyp97.exe", und nennt sie zum Beispiel in datyp97_cracked.exe.
Die Kopie der Datei ladet ihr nun in den W32dasm.
Wenn der W32dasm fertig ist habt ihr einen netten Code vor euch.
Jetzt ffnet ihr die "StringDataReferences" und sucht mal nach "Unregistrierte SHAREWARE-VERSION"
Yahoooooo, das ist die Reference!!!
Ein Doppelklick darauf und wir landen an folgender Stelle im Code....

:0043DB25 FF15B8924400            Call dword ptr [004492B8]
:0043DB2B 85C0                    test eax, eax
:0043DB2D 0F848B010000            je 0043DCBE                <== wenn gleich, dann gehe zu
                                                                 "erfolgreiches-passwort-mache-nun-registrierte-VOLLVERSION" ;-)               
                                                                  (Jump if Equal) sonst sage "Unregistrierte SHAREWARE-VERSION" 
* Possible Reference to String Resource ID=00012: "Software\TLP\Dateitypen 97\Optionen"
                                  |
:0043DB33 C745FC0C000000          mov [ebp-04], 0000000C
:0043DB3A 8B5508                  mov edx, dword ptr [ebp+08]
:0043DB3D 8B02                    mov eax, dword ptr [edx]
:0043DB3F 8B4D08                  mov ecx, dword ptr [ebp+08]
:0043DB42 51                      push ecx
:0043DB43 FF900C030000            call dword ptr [eax+0000030C]
:0043DB49 50                      push eax
:0043DB4A 8D55A0                  lea edx, dword ptr [ebp-60]
:0043DB4D 52                      push edx

* Reference To: MSVBVM50.__vbaObjSet, Ord:0000h
                                  |
:0043DB4E FF1564924400            Call dword ptr [00449264]
:0043DB54 898528FFFFFF            mov dword ptr [ebp+FFFFFF28], eax
:0043DB5A 8D459C                  lea eax, dword ptr [ebp-64]
:0043DB5D 50                      push eax
:0043DB5E 6A04                    push 00000004
:0043DB60 8B8D28FFFFFF            mov ecx, dword ptr [ebp+FFFFFF28]
:0043DB66 8B11                    mov edx, dword ptr [ecx]
:0043DB68 8B8528FFFFFF            mov eax, dword ptr [ebp+FFFFFF28]
:0043DB6E 50                      push eax
:0043DB6F FF5240                  call [edx+40]
:0043DB72 898524FFFFFF            mov dword ptr [ebp+FFFFFF24], eax
:0043DB78 83BD24FFFFFF00          cmp dword ptr [ebp+FFFFFF24], 00000000
:0043DB7F 7D23                    jge 0043DBA4                               <---------
:0043DB81 6A40                    push 00000040                                       |
:0043DB83 6880B14000              push 0040B180                                       |  
:0043DB88 8B8D28FFFFFF            mov ecx, dword ptr [ebp+FFFFFF28]                   | 
:0043DB8E 51                      push ecx                                            | 
:0043DB8F 8B9524FFFFFF            mov edx, dword ptr [ebp+FFFFFF24]                   |  
:0043DB95 52                      push edx                                            | 
                                                                                      |Ist ein uninteressanter Jump...
* Reference To: MSVBVM50.__vbaHresultCheckObj, Ord:0000h                              | 
                                  |                                                   |   
:0043DB96 FF1550924400            Call dword ptr [00449250]                           |  
:0043DB9C 898578FEFFFF            mov dword ptr [ebp+FFFFFE78], eax                   | 
:0043DBA2 EB0A                    jmp 0043DBAE                               <========|==
                                                                                      | |
* Referenced by a (U)nconditional or (C)onditional Jump at Address:                   | |   
|:0043DB7F(C)                                                                         | |
|                                                                                     | |
:0043DBA4 C78578FEFFFF00000000    mov dword ptr [ebp+FFFFFE78], 00000000     <--------- |
                                                                                        |
* Referenced by a (U)nconditional or (C)onditional Jump at Address:                     |der is auch uninteressant...
|:0043DBA2(U)                                                                           |
|                                                                                       |
:0043DBAE 8B459C                  mov eax, dword ptr [ebp-64]                <===========
:0043DBB1 898520FFFFFF            mov dword ptr [ebp+FFFFFF20], eax
:0043DBB7 833DDC47440000          cmp dword ptr [004447DC], 00000000
:0043DBBE 751C                    jne 0043DBDC                               <---------
:0043DBC0 68DC474400              push 004447DC                                       |
:0043DBC5 685CB04000              push 0040B05C                                       |
                                                                                      |
* Reference To: MSVBVM50.__vbaNew2, Ord:0000h                                         |
                                  |                                                   | 
:0043DBCA FF154C934400            Call dword ptr [0044934C]                           |ebenfalls auch dieser...
:0043DBD0 C78574FEFFFFDC474400    mov dword ptr [ebp+FFFFFE74], 004447DC              | 
:0043DBDA EB0A                    jmp 0043DBE6                               <========|==
                                                                                      | |
* Referenced by a (U)nconditional or (C)onditional Jump at Address:                   | |
|:0043DBBE(C)                                                                         | |
|                                                                                     | |
:0043DBDC C78574FEFFFFDC474400    mov dword ptr [ebp+FFFFFE74], 004447DC     <--------- |
                                                                                        |ihr wisst schon...
* Referenced by a (U)nconditional or (C)onditional Jump at Address:                     |der is auch uninteressant
|:0043DBDA(U)                                                                           |
|                                                                                       |
:0043DBE6 8B8D74FEFFFF            mov ecx, dword ptr [ebp+FFFFFE74]          <===========
:0043DBEC 8B11                    mov edx, dword ptr [ecx]
:0043DBEE 899530FFFFFF            mov dword ptr [ebp+FFFFFF30], edx
:0043DBF4 8D45B8                  lea eax, dword ptr [ebp-48]
:0043DBF7 50                      push eax

* Possible Reference to String Resource ID=04004: "Unregistrierte SHAREWARE-VERSION" <=


Toll das is ja ganz easy... wir machen ganz einfach aus:   
"je 004995A1" (Gehe zu guter User wenn er das richtige PASSWORT hat)
"jmp 004995A1 (Gehe zu guter User wenn er das irgend ein PASSWORT hat)


nochmals zum besseren Verstndnis:
je  bedeutet "Jump if Equal"         <= wird oft verwendet!!!
jmp bedeutet "Jump" (ohne Bedingung) => Springe egal ob "Gleich" oder "nicht Gleich" 
                                        (besser kann man's halt nicht sagen ;-)  

Um dies zu ndern klicken wir mit der Maus auf diese Zeile:

:0043DB2D 0F848B010000            je 0043DCBE  



dann sehen wir in der untersten Zeile des W32dasm v8.9 folgendes:

Line:111406 Pg 2228 and 2229 of 2449 Code Data @:0043DB2D @Offset 0003CF2Dh in File:datyp97_cracked.exe



von diesem ganzen kram interessiert uns nur der Offset: 3CF2D 
(das kleine h und die nullen braucht ihr nicht zu merken. h steht nur fr HEX)
Ladet jetzt die Kopie in Hacker's View...
drckt dort F4 um den Mode zu ndern...
drckt bei select Mode auf Decode...
drckt nun F5 und gebt den Offset ein: 3CF2D
drckt nun F3 um den Code zu editieren
drckt F2 um in Assembler eingeben zu knnen
ndert nun "je 0043DCBE" zu "jmp 0043DCBE" => Enter
Escape und schliesslich F9 um zu sichern!!!!
Jetz noch Escape drcken um Hacker's View zu beenden!!!!

(sorry fr die vielen "drckt's" es geht halt nicht anders!!! ;-)

Startet nun datyp97_cracked.exe und gebt irgend ein Passwort ein.
Es wird immer funktionieren und wird zur Vollversion!!!!

Ihr habt es geschafft, es ist GECRACKT!!!

Tja, das war nun mein zweites Tutor. Ich hoffe ihr habt was daraus gelernt.
Den Rest entnehmt ihr bitte der fRACTUs`99.nfo die dem Tutor beiliegt.

GrEeTz FlY oUt To: AlL gErMaN cRaCkInG-gRoUpS, keep on cracking, Nexus,
                   Cicero and 2 all the people that know me...

remember: "a bad protection is almost the same like NO protection"








 



