February 23, 1999 YOUR FIRST CRACK (A tutorial for beginners) By: Phantom_Stranger Target: ZoomPlus.exe (www.download.com) or (member.tripod.com/~Abject_Darkness/zoomps13.zip) Tools: W32DSM89.exe, Hedit.exe (or any decent hex editor), and a base coverter (if needed) I downloaded this program from www.download.com (I've found it to be ripe with the fruits of shareware). The reason I chose this program was for none other than that it was small (60K). Me being lazy today, I didn't want thousands of pages of assembly code to wade through. After I unzipped ZoomPlus, I ran the executable. Right away it asks for the registration key or click on Evaluate to, of course, evaluate the program. I entered a bogus key and clicked on Register. An error box with "Invalid registration number." popped up. Now I had a definite string value to look for. I then ran W32DSM89.exe and disassembled ZoomPlus.exe. I clicked on the Strn Ref button, located the "Invalid registration number." string and double-clicked on it. Which took me to this code segment: *Possible Reference to String Resource ID=32795: "Invalid registration number." :0040428D 681B800000 push 0000801B I worked my way up the code to see what jumps referenced this code segment. About ten lines up, I find the reference: *Referenced by a (U)nconditional or (C)onditional Jump at Addresses: |:00404243(C), :0040425F(C), :00404266(C) I move up to these addresses and find: *Reference To:USER32.GetWindowTextA, Ord:015Eh :0040423B FF159C924000 Call dword ptr [0040929C] :00404241 85C0 test eax, eax ;tests if the text field is empty :00404243 7431 je 00404276 ;if so, jump to error :00404245 8D450C lea eax, dword ptr [ebp+0C] :00404248 6A0A push 0000000A :0040424A 50 push eax :0040424B 8D85E0FEFFFF lea eax, dword ptr [ebp+FFFFFEE0] :00404251 50 push eax :00404252 E83C120000 call 00405493 :00404257 83C40C add esp, 0000000C :0040425A 3DA0F69500 cmp eax, 0095F6A0 ;compares your key to lowest possible key minus one :0040425F 7E15 jle 00404276 ;if lower than or equal to, jump to error :00404261 3DE00F9700 cmp eax, 00970FE0 ;compares your key to highest possible key plus one :00404266 7D0E jge 00404276 ;if greater than or equal to, jump to error :00404268 A34CBB4000 mov dword ptr [0040BB4C] :0040426D 56 push esi So, I fired up my trusty base converter and entered for hex - 0095F6A0. This gave me a decimal value of 9828000. Then I entered 00970FE0. This gave me a decimal value of 9900000. After scribbling down these values, I exited W32DSM89 and started ZoomPlus. Now I know that any number lower than or equal to 9828000 and any number above or equal to 9900000 will give me an error. So, I enter 9828001 for my registration number and it worked! ZoomPlus.exe is now registered with no patching. Now, anyone may download ZoomPlus from www.download.com somewhere under the utilities section and follow this tutorial for further insight into cracking (especially beginners). But, trust me, there's no greater feeling than cracking your first program without the help of any tutorial. Well, hopefully, this will be useful to someone out there or at least it can be a laugh to more experienced crackers when they see how easy it was to pop this program's cherry. Either way, it really doesn't make any difference to me. Peace out. Phantom_Stranger