Vanor - Tutorial: Registration of JPEG Wizard v1.11 Program: JPEG Wizard v1.11 Description: Jpeg Image Manipulation Tool Author: (c)1998-1999 Pegasus Imaging Corporation Size: 2.485.248 Bytes (Jwizard.exe) Used Tools: - W32DSM89 1. First, we must find out which kind of protection use this program. To this we start "JPEG Wizard" and go into the menu "Help", an option "Registration" already can be seen there, too. Well, we click on "Registration" and a window opens where we can enter Name and Serial. Well, "JPEG Wizard" uses a Serial-Number as protection ! To get a clue about our Serial now, write down any data on the Registrations Menu now. e.g. Name: DOOM 1999 Serial: 112233445566778899 Noticing the appearing error message absolutely !!! 2. Leave the program and Load W32DASM89 3. Now, you should disassemble the Jwizard.EXE (to be on the safe side, save the code) and run the program via the Debugger [Debug/Load Process]. 4. Look for the error message "Invalid Registration Information!" via [Refs/String Data References]. The corresponding lines are shown on the listing by double clicks. We find the reference(s) at the address(es) :004BAEAF. * Referenced by a (U)nconditional or (C)onditional Jump at Address: :004BACFC(C) :004BAE9D 6A00 push 00000000 * Reference To: user32.MessageBeep, Ord:0000h | :004BAE9F E824C3F4FF Call 004071C8 :004BAEA4 6A00 push 00000000 :004BAEA6 668B0D98AF4B00 mov cx, word ptr [004BAF98] :004BAEAD B202 mov dl, 02 * Possible StringData Ref from Code Obj ->"Invalid Registration Information!" | :004BAEAF B8F0AF4B00 mov eax, 004BAFF0 :004BAEB4 E8BB66F8FF call 00441574 SNIP Yeah! Now, we scroll upwards and take a look where the error message is called or where it is gone round. That's at 004BACFC. Well, we search upwards for 004BACFC. Now, we are in the following area: SNIP :004BACF1 8B55F4 mov edx, dword ptr [ebp-0C] :004BACF4 8B45F8 mov eax, dword ptr [ebp-08] :004BACF7 E81893F4FF call 00404014 ; Checkroutine for Serial-Num :004BACFC 0F859B010000 jne 004BAE9D ; Call ErrorMessage - Wrong Serial :004BAD02 C605CCD0520001 mov byte ptr [0052D0CC], 01 :004BAD09 BAF4FFFFFF mov edx, FFFFFFF4 :004BAD0E 8B8324020000 mov eax, dword ptr [ebx+00000224] :004BAD14 E8F77DF6FF call 00422B10 SNIP To see, if we are right with our assumption, we go over to point 5. 5. We put a breakpoint in front of the corresponding line and start "JPEG Wizard". As Name we take "DOOM 1999" and as Serial "112233445566778899". Now, we click on [Register Now]. Wow !!! The program stops. We take a look at the contents of the register addresses [eax] and [edx] , this one being filled with data from the register [ebx]. Contents of edx : 11223344556677889900 -> Our Wrong Serial Contents of eax : 129521882 -> Right Serial ? 6. To test, if JPEG Wizard can be registered with the Serial we have found, we deactivate all breakpoints and run the program once again. Now, we enter following data: Name : DOOM 1999 Serial: 129521882 Yes, we are a "registered user" of JPEG Wizard . 7. Note : After the successful registration, JPEG Wizard writes down our datas into the registry. The datas can be found under the following key. HKEY_CURRENT_USER/Software/PegasusImaging/Apps/The JPEG Wizard/ I hope you have fun with cracking! Vanor [DOOM] 13.04.1999