
Tutor on WIDO Picture Viewer:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(1) Hallo!
(2) Was gibts besonderes
(3) Was werden wir machen
(4) Was werden wir brauchen
(5) Cracken


Hallo!

Also ich heisse euch zu meinem neuen, inzwischen fnten, Tutor willkommen. Ich habe endlich mal wieder die Zeit und den richtigen anlass gefunden euch einen Tutor zu schreiben. Wieso ich gerade WIDO cracke dazu komme ich spter. Ihr habt vielleicht schonmal einen anderen Tutor von mir in er Hand gehabt, und wisst dass ich lediglich Tutoren zum W32dasm cracken schreibe, ich komme mit diesem Proggi einfach besser klar, als mit Soft-Ice. "HALT, du hast doch einen Tutor mit Soft-Ice geschrieben.." werden manche jetzt gerne zu mir sagen, aber ich hre euch eh nicht..tsch! Gut ich habe einen Soft-Ice Tutor zu InfoPro geschrieben, aber da ging es lediglich um das lokalisieren eines CALLs, um ihn dann zu noppen, aber ich meine Serials saugen mit Soft-Ice!!!

Was gibts besonders:

Nun, der Anlass warum ich diesen Tutor schreibe ist relativ schnell erklrt. Es gibt da ein Cracking-Group (ich glaube aus Holland!) mit dem Namen "DREAD", die haben einen Patch geschrieben, der es mglich macht im W32Dasm ( NUR VERSION 8.93!!! ) auch "StringDataRefernces" bei VisualBasic Programmen anzuzeigen. Ihr erinnert euch sicher noch an die folgenden Meldungen: 
"py@"
"VB5!"
Diese Zeiten sind vorbei! Danke an dieser Stelle an "duelist" von "DREAD"..

Was werden wir machen:

Wir werden einen Picture Viewer cracken, der in VisualBasic 6 (ich glaube es war 6) gecodet ist. Er heisst "WIDO Picture Viewer", und ich habe ihn unter http://www.winfiles.com gefunden.. Ihr msst auf der Seite dann unter Windows Shareware -> Graphik Utilities -> Picture Viewer schauen, oder so hnlich.. :-D !

Was werden wir brauchen:

- Als erstes mal den "WIDO Picture Viewer" (s.o.)
- W32Dasm 8.93  <- NUR VERSION 8.93!
- Hexworkshop 2.10 oder hher
- W32dasm Patch by duelist (liegt der zip bei)
- 5 Minuten Zeit

Cracken:

Genug geschwafelt, schreiten wir zur Tat!! Also als erstes installiert ihr mal den WIDO, und erstellt eine Kopie der viewer.exe, nennt sie original.exe oder wie ihr wollt. Jetzt msst ihr natrlich erst den patch fr den W32dasm von DREAD noch in ausfhren. Geht ganz schnell, einfach ins W32dasm Verzeichniss kopieren, und starten. Jetzt ladet ihr die origianl.exe in den W32dasm und die viewer.exe in den Hexworkshop, wie immer halt! Jetzt mal schnell auf "StringDataReferences" klicken und schon habt ihr, trotz VB wunderbare Strings :-))! Jetzt startet ihr mal die viewer.exe und es erscheint ein Nagscreen "Das Programm ist noch 60 Tage frei" o.., aha, merken oder notieren. Im Programm drinne ist ein Button "Register" da klicken wir mal drauf und sehen eine Box " Enter your Registration Code:   "   Aha, geben wir mal was ein...wie wre es mit "86798665" Toll, oder? "Wrong Registration Code", na wr htte das gedacht! Wir suchen im W32Dasm mal na dem String "Programm luft noch 60 Tage" o.., ader wir finden nix, oder? So dann suchen wir halt mal "Wrong Registration Code"...und siehe da ein Klick drauf:

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0041B51D(C)                                                         <-  Von da kommt der Sprung
|
:0041B5F2 B904000280              mov ecx, 80020004
:0041B5F7 894DA0                  mov dword ptr [ebp-60], ecx
:0041B5FA B80A000000              mov eax, 0000000A
:0041B5FF 894598                  mov dword ptr [ebp-68], eax
:0041B602 894DB0                  mov dword ptr [ebp-50], ecx
:0041B605 8945A8                  mov dword ptr [ebp-58], eax
:0041B608 894DC0                  mov dword ptr [ebp-40], ecx
:0041B60B 8945B8                  mov dword ptr [ebp-48], eax

* Possible StringData Ref from Code Obj ->"Wrong registration code"  <- Unser String

:0041B60E C74590CC804000          mov [ebp-70], 004080CC
   ...         ....                      .....
 
Wir verfolgen mal den Sprung zurck, er kommt von der Addresse: "0041B51D". -> GotoCode Location:

* Reference To: MSVBVM60.__vbaSetSystemError, Ord:0000h  <- Da ist der Beweis es IST VB 6! :-)

:0041B514 FF1534104000            Call dword ptr [00401034]
:0041B51A 663BF3                  cmp si, bx
:0041B51D 0F84CF000000            je 0041B5F2                 <- BSER SPRUNG, DICH NOPP ICH WEG!
:0041B523 8D55E0                  lea edx, dword ptr [ebp-20]
:0041B526 52                      push edx
:0041B527 E864D2FEFF              call 00408790
:0041B52C 8BF0                    mov esi, eax

* Reference To: MSVBVM60.__vbaSetSystemError, Ord:0000h  <- tsch, nochein Beweis!

Also wir haben inzwischen 24h und ich habe morgen Schule, doch weil ihr es seid schreibe ich meinen Tutor noch fertig, aber ich werde mir schnell ne Bong rauchen.. Also muss ich mich kurz entschueldigen Mr Magic Glass ruft... :-D ... Ausserdem entschuldige ich mich fr alle Rechtschreibfehler die unter Umstnden folgen knnten..
Soo, in alter Frische unterwegs.. Lasst uns weitercracken! 

Jetzt schreiben wir uns den Offset von diesem Sprung raus: 0001B51D , und gehen mal schnell in den HexWorks. Zack, schon simmer am Sprung, 0F84CF000000  wird zu 909090909090 !
Und fertig, jetzt speichern uns ausprobieren... "Registration Successfull" .. TOLL! Aber nochmal neu starten, und wieder auf "Registrieren" klicken, und man kann immernoch nen Key eingeben, iihhh. Also mssen wir wohl oder bel nochmal in den W32dasm. So WAS wrde wohl in dem Fenster stehen wenn das Programm registroert wre? Wohl am ehesten "Registered" naja, die Programmierer von WIDO sind halt auch noch so bld es einem so einfach zu machen... Suchen wir mal nach nen String "Registered" ...
    ...     ..                         .....      .....
:0040C1DB 897DE8                  mov dword ptr [ebp-18], edi
:0040C1DE 897DD8                  mov dword ptr [ebp-28], edi
:0040C1E1 897DC8                  mov dword ptr [ebp-38], edi
:0040C1E4 897DB8                  mov dword ptr [ebp-48], edi
:0040C1E7 897DA8                  mov dword ptr [ebp-58], edi
:0040C1EA 897D98                  mov dword ptr [ebp-68], edi
:0040C1ED 746A                    je 0040C259                 <- Nochein bser JUMP!
:0040C1EF B904000280              mov ecx, 80020004
:0040C1F4 B80A000000              mov eax, 0000000A
:0040C1F9 894DB0                  mov dword ptr [ebp-50], ecx
:0040C1FC 894DC0                  mov dword ptr [ebp-40], ecx
:0040C1FF 894DD0                  mov dword ptr [ebp-30], ecx
:0040C202 8D5598                  lea edx, dword ptr [ebp-68]
:0040C205 8D4DD8                  lea ecx, dword ptr [ebp-28]
:0040C208 8945A8                  mov dword ptr [ebp-58], eax
:0040C20B 8945B8                  mov dword ptr [ebp-48], eax
:0040C20E 8945C8                  mov dword ptr [ebp-38], eax

* Possible StringData Ref from Code Obj ->"Registered" <- Unser String

:0040C211 C745A04C884000          mov [ebp-60], 0040884C
:0040C218 C7459808000000          mov [ebp-68], 00000008

* Reference To: MSVBVM60.__vbaVarDup, Ord:0000h  <- Nochein Beweis!

Wie ihr ja oben schon seht mssen wir den bsen Jump auf: :0040C1ED wegnoppen. Pffset = 0000C1ED . Im Hexworks steht da dann 746A und wir machen draus 9090. Fertig, jetzt nochmal schnell das Prgramm starten. Auf "Registrieren clicken, und wir sind fertig! 
Also das war wohl echt nicht schwer,oder? Ich meine das einzig neue daran war, das wir den Patch von Dread benutzt haben, und  die Erkenntniss das der W32dasm auch zum Cracken von VB Programmen durchaus ntzlich ist! Und das freut uns doch alle, oder?
Upps, jetzt htt ichs fast vergessen, diese Box die am Anfang kam ("Programm luft noch 60 Tage, oder so") Die ist bei mir nie wieder gekommen, ich habe mal die uhr vorgestellt, und seiddem ist die Box weg (auch bei der nicht gecrackten Datei!) Also wenn ihr mir sagen knnt was es damit auf sich hat, dann mailt mir, sagt mir ob die Box bei euch noch erscheint, dann werde ich diese Box auchnoch "wegcracken".
So, jetzt ist es 0.15h und ich bin tierisch dicht, ich freue mich jetzt aufs schlafen *g* , ich hoffe ich konnte euch was neues zeigen..
cya all...
- cI[ERo <fTs>

 fts_cicero@gmx.net

 wATcH oUt fOR mOrE rElEAseS bY cI[ERo
 http://fractus99.tsx.org
