| Gabri3l Tutorial #1
Beginner Tutorial: Serial fishing |
| The Target: WorldTV 7.1 http://www.netfor2.com/WorldTV.html |
| The Tools: OllyDbg 1.09d, PEiD 0.92, W32dasm, HexWorkshop 4.1 |
| The Protection: Serial Protection |
| Other Information: This is a tutorial to introduce the new crackers to serial fishing with Olly. I will take you through the steps that I took in cracking this program. This may help you get a better idea of how to approach new targets. |
|
Intro: |
| All the tools you will need can be found online: http://home.t-online.de/home/Ollydbg/odbg109d.zip http://peid.has.it/ http://protools.cjb.net/
Let us first get set up and ready to crack. I like to open the folder with my target in it. In this case c:\program files\worldtv\ and make a quick backup that we can work on without fear of screwing up the file. I named mine worldtv2.exe and I will refer to it as such through the tutorial. |
|
Body: |
| Knowing that we will not need to unpack the executable lets us do a little examination of the protection scheme. Open up worldtv. It goes directly into the nag screen letting us know that it is not registered. That is important to note because it lets us know that it is checking for a registration key (maybe a keyfile or registry key) before the program even loads. Try putting in a random key. Ahh, we get a nice little messagebox telling us "Invalid Registration Code". Let's write that little message down and save it. If you have read any previous tutorials you know that it may come in handy. Press Okay and the program quits. Finding the Bytes:
Line:52558 Pg 657 and 658 of 1734 Code Data @:0041B521 @Offset 0001A915h in File WorldTV.exe We are interested in the Offset value of 0001A915h. Write this number down; ignore the h at the end it just means that the value is hexadecimal.
Patching the Bytes:
This will take us to
the location of our jne 0041B54C. Now hopefully from previous
tutorials you know that 75 is the opcode for the instruction JNE
and 74 is the opcode for instruction JE. In this case
rather than jumping on bad serials we want the program to jump on ANY
serial. We will replace 75 with EB which is the
instruction for JMP. Save WorldTV2.exe, I have made it a habit of choosing YES when asked if I want to make a backup. Now, find your newly patched WorldTV2.exe and run it. It asks for a serial; give it any one you want, I will use 1234567. Press Validate Registration and... Success! Registration Code Accepted. Are we done? No. Close WorldTV2.exe and open it back up again. It is still asking for a serial. Now, we could just put in a serial every time we use it but that is annoying. Instead, we are going to find a real serial. Finding a Serial: Go to your Start menu and find the Run command. A box will open asking you to "Type the name of a program, folder, etc...". Type in "regedit", without the quotes, and press enter. You will now be in the regedit window and see a two pane window with a list of folders in the left pane. Click on the plus sign in front of HKEY_CURRENT_USER. It will open, you now have another list of folders. Click the plus sign in front of Software. Scroll down until you find WorldTV and click on the folder. Aha! In the right pane we have a key called RegCode with our bogus key: 1234567 stored in it. We now know that WorldTV checks the registry for a serial before loading. We are going
to start by opening Ollydbg. I am using version 1.09d because I found 1.10 will
sometimes crash when setting a breakpoint. Using Ollydbg, open the original
WorldTV.exe. Go
ahead and close Ollydbg. Open up the original WorldTV.exe and try
registering with the serial we wrote down. Registration Code Accpeted,
we have succesfully registered WorldTV with a real serial. No patching
invloved!
|
|
Conclusion: |
| I used this particular program purely as a demonstration
for finding a serial using Ollydbg. If like the program and are going to
use it please purchase it.
Thanks to all the people who take time to write tutorials. Without the teaching's of others we would all lack knowledge. Thanks to Exetools, Woodmann, and Arteam for being a great place of learning. If you have any suggestions, comments or corrections email me: Gabri3l2003[at]yahoo.com |