Jump to content
Gonzalez

Finding Serial Key by: MiStEr_X

Recommended Posts

Finding Serial Key by: MiStEr_X

Ok, in the two first tutorials we did learn to patch, actually two tutorials are not enough to learn patching but it was a good introduction I suppose. I would like to thank anyone that maked a question or sent a feedback

I would like to introduce you now to a more advanced and professional cracking technique, cracking using a debugger. What is a debugger? In few words, a debugger is a software that will let us look in the asm code before and after the code is executed by the cpu. The debugger will pause the the execution of the code and will allow us to trace it step by step as the cpu executes it. All crackers uses a debugger, even W32Dasm has a debugger built in but is not very confortable. The most advanced debugger for cracking used by all crackers is OllyDBG, this tool will become your friend, your partner, it will be for you the tool number one! Download it here:

http://ollydbg.de/odbg110.zip

unzip it and run ollydbg.exe

Let's do some configurations, press alt+o to access options and go to the CPU menu. Make you settings look like in this picture:

picture1:

picture1.JPG

After this go to EXCEPTIONS menu and make your settings look like in this other picture:

picture2:

picture2.JPG

Ok, we are done for now. We will use olly for everything, like patching, finding serial keys, unpacking, studing, etc.

We will start our first lesson with olly by finding the serial key of a crackme by FHCF team, during tracing the code it will be very easy to understand where we should patch if needed.

Tools needed: W32Dasm & OllyDBG (you can find w32dasm on tutorial1 post on this forum)

Download the crackme here:

http://foff.astalavista.ms/downloads/crackme_01.zip 

Our mission in this lesson is to find a serial key for our entered name.

Step 1:

Run the crackme and you will see that it needs a name and a serial number, enter some fake info... click on check serial... nothing happens Lets find a real serial for our name now!

Disassemble our target with w32dasm then click on the imports button. See the picture below:

picture3:

picture3.JPG

On the dialog box that shows up find this: USER32.GetDlgItemTextA like in the picture below:

picture4:

picture4.JPG

Select it like in picture above and double click on it, you will land at the address: 004011DF (write down this address), just a bit below this we have an other reference to USER32.GetDlgItemTextA at the address 004011F0 (write this address down too). Close W32Dasm, we don't need it anymore.

Step 2:

Run OllyDBG and click on file, open, browse to our crackme and open it. Cool, you should see the asm code now. Press F9 button from your keyboard then the crackme should show up. Enter your name and any serial number but don't click on "check serial" button yet. I will enter MiStEr_X as name and 12345 as serial. Return to OllyDBG then click on "Go to Address" button. This button is indicated in the picture below:

picture5:

picture5.JPG

On the blank box enter the first address we did found on w32dasm, 4011DF then click ok!

You will be here:

PUSH 019h

PUSH 0403096h

PUSH 066h

PUSH DWORD PTR SS:[EBP+8]

004011DF CALL GetDlgItemTextA ;read the entered name

PUSH 01Eh

PUSH 0403078h

PUSH 065h

PUSH DWORD PTR SS:[EBP+8]

004011F0 CALL GetDlgItemTextA ;read the entered serial

CMP EAX,4 ; compare entered name with 4

JB @crackme__00401245 ; jump if below (if our entered name is smaller than 4 digits then jump)

GetDlgItemTextA is used in asm to retrive the information entered by users in blank boxes!

Now, put the selector line on "004011DF Call GetDlgItemTextA" then press the F2 button from your keyboard to set a breakpoint. Go to the second address to and set a breakpoint there too by pressing F2. See the picture below to see my breakpoints. The addresses highlighted with white means that there is set a breakpoint.

picture6:

picture6.JPG

Bring up the crackme from the taskbar and click on "check serial" Olly will break on the first breakpoint, now press F9 (run) and Olly will break on the other breakpoint we did set. The first breakpoint was for the name we have entered and the second is for the serial number. Now trace line by line slowly with F8 button until you are on the address "0040121F"

picture7:

picture7.JPG

Refering to the picture too, you must be on this line:

0040121F CMP EAX, EBX

Let's explain what does this mean, CMP means compare, eax register is storing the fake serial we did enter and ebx register is storing the real serial number for the entered name. Check this on the top-right of your screen, in the above picture are number 2 and 3. EAX has the value 12345 that is the fake serial I did enter and EBX is has the value 2EB. Can 2EB be the real serial number for the name MiStEr_X?? Yes it is, we did found a real serial number and we can find a serial for any name we enter by following the procedure of this tutorial. Enjoy!

As you see, on the address .40121F the protection of the crackme is comparing our fake serial with a real serial for our name.

Exercise: I want you to find a serial for your nickname and also tell me how to patch this crackme if we want to make it accept any serial number for any name. It's very easy if you have learned something from previous tutorials.

Tutorial written by: MiStEr_X

CrackMe by: FHCF Team ("Flying Horse Cracking Force" is a retired team, I respect this team very much)

Tutorial written in: Notepad and listening to: Hotel California (a couple of times)

Link to comment
Share on other sites

multam Sub7 Wink

vrila

MesajTrimis: Sâm Dec 16, 2006 4:14 pm Titlul subiectului:

in sfarsit ceva de calitate thanks:)

eu cred ca, cam tot de pe acest forum este de calitate....

,,,,,,,,,,,,,,

pai din punctul tau de vedere este de calitate,dar din punctul meu de vedere nu este.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...