You are on page 1of 11

How to crack software a beginners tutorial! | Its All about Computers https://ajaywithcomputer.wordpress.com/2011/12/25/how-to-crack-sof...

Its All about Computers

CRACKING

How to crack software a beginners tutorial!

DECEMBER 25, 2011 | AJ SHARMA | LEAVE A COMMENT

Introducion: (hps://ajaywithcomputer.les.word-
press.com/2011/12/cracking-wep.png)

I have read many cracking tutorials lately. Frankly


speaking, I myself learned cracking from tutorials (and
some book, but

this doesnt really maer). The majority of the cracking


tutorials out there have a few disadvantages: either they
are too long

and contain a lot of garbage, or they are too short, and dont contain the basics.

I decided to write a tutorial which will not have those two disadvantaged.

Anyway, I divided the tutorial into 3 parts:

Part 1: Introduction, tools and The basics of cracking.

Part 2: Practical training, using W32Dasm, and HIEW

Part 3: Key-generators.

Welcome to the rst part.

1 of 11 9/29/2017, 4:06 PM
How to crack software a beginners tutorial! | Its All about Computers https://ajaywithcomputer.wordpress.com/2011/12/25/how-to-crack-sof...

1. Disclaimer:

I created this tutorial for informational purposes only!

Much of the information in this document can be used to perform illegal activities!

Dont aempt to do anything stated in this document!

If you do aempt to do anything, you are solely and fully responsible for what you do!

If you get caught and get in any kind of trouble, its your own fault!

If you intend to use this information to impress your friends, leave it and grow up!

If you dont agree to this, do not read any more!

If you crack a program, and either sell the crack or oer it for free, it is a crime!

2. What is Cracking?

For me, cracking is:

Leing a program, which is on your computer behave as you want it to behave and not behave as
someone else (the

programmer) wants

As INTERN said: Hey, it is your stu right? your numbers, your bits, you should be able to do
anything you wish to do with it

Actually, I agree to this.

So cracking is modifying your programs, and making them work they way you want them to. U can
get a free demo

program, crack it, and use it. BUT!!!! I repeat, if you crack a program, and start selling the cracked
version or even oering it for free, it is a crime!

After reading those three tutorials (this is the rst one in thsi series), you will feel the power you have
in your hands (I mean, in your head).

2 of 11 9/29/2017, 4:06 PM
How to crack software a beginners tutorial! | Its All about Computers https://ajaywithcomputer.wordpress.com/2011/12/25/how-to-crack-sof...

well, lets get started?

3. Tools

There are very few tools you need by now It is very easy to nd them over the web, cause they are
quite popular:

The rst one is Win32 Disassembler , which is also know as W32Dasm.

The Win32 Disassembler allows you to:

1.Disassemble les translate the program to its assembly origin, or machine code.

The le types which can be disassambled in Win32 Disassembler:

exe, 386, com, cpl, drv, dll, fon, mpd, ocx, vbx, vbx and sys.

2.Load the program proccess and trace the program. 3.Browse the disassembled le and go to any
code location that you want. 4. Find text. 5.Execute, insert or remove jumps and calls.

6.Import and export functions.

7.Show a HEX display of a code area.

8.Show the list of the STRINGS, DIALOGS and REFERENCES.

9.Save the Disassembly source in text format.

Well, u can get it in almost any cracking site, but Ill give you some URLs:

1.hp://wowsites.com/meiner/w (hp://wowsites.com/meiner/w)

32dsm89.zip

The second tool you need is Hiew, which is also known as Hackers View. The Hackers View Tool al-
lowes you to:

1. Disassemble les.

3 of 11 9/29/2017, 4:06 PM
How to crack software a beginners tutorial! | Its All about Computers https://ajaywithcomputer.wordpress.com/2011/12/25/how-to-crack-sof...

2.Make changes in the disassembled le, such as: write commands, modify commands and reassem-
ble the le.

3.View the le in ASCII, Hex or assembly mode.

You can also download an excellent program for cracking called Soft-ICe. Anyway, we wont need it
in this part of the tutorial. Anyway, here are some URLs for Soft-ICe.

link hp://www.plunder.com/Softi (hp://www.plunder.com/Softi)

ce-Instaload-83770.htm

4. The Main steps of cracking

There are 7 steps in the process of cracking:

1.Run the program you want to crack and learn its standard behavior. Try to locate strings and key-
words, try to enter the password and see how the program responds.

2.Open up the program with the W32Dasm and disassamble it.

3.Find typical and common strings in the disassembly that appeared in the program. In most cases,
you have to look

for keywords such as: password, name, date, expired, time limit, wrong, entered and so on.

4.Find and observe the password generator, nd the learn protection routine and the API calls.

5.Try to understand the jumping mechanism of the protection.

6.Open up the program in HIEW. Change the jump of the ow control to its oposite jump command,
or nop it out.

7.Run and see how the change you have made in the original program aected it. Feel the power you
have, the

power of cracking, leing programs behave as you want them to.

Learn those steps very well, until u dream of them, u will use them in every program you crack.

5. Basic terms in Assembly

4 of 11 9/29/2017, 4:06 PM
How to crack software a beginners tutorial! | Its All about Computers https://ajaywithcomputer.wordpress.com/2011/12/25/how-to-crack-sof...

A. Registers:

Registers are variables which are stored in your processor. The processor uses these variables for ba-
sic mathimatical and

logical operations. The mostly used registers are: eax, ebx, ecx and edx. Sometimes you will see edi,
esi, esp, ebp. There

are three types of registers: 32Bit registers, 16Bit registers and 8Bit registers. The 32Bit registers start
with e, such as eax.

There are 16Bit equivalents of these registers. The only Dierence between the two types is the veri-
able size. These

registers are: ax, bx, cx, dx, di, si, sp, bp. There are also 8 bit registers. Tthe 8Bit registers are: al, ah, bl,
bh, cl, ch, dl, dh. l

means the lower 8 bits of the 16Bit register. h means the higher 8 bits of the 16Bit register. Here the l
stands for the lower

and h for the higher 8 bits of a 16 bit register.

B. Flags:

Flags are Boolean variables (get 0 or 1 values). Flags are used by the processor for internal logical and
mathimatical

operations, in order to get the result of the operation. The most important ag is the Zero Flag, which
can get zero or non-

zero (1) values.

C. Code Flow

When you are analyzing a piece of code, you must understand that the processor is actually quite
stupid, and all it does is

to simply follow the basic instructions, line by line. It does anything the code tells it to do, and cannot
do anything that is not

wrien in the code (unless it has been run over by a herd of cows and abducted by aliens). This is
why you have to think like

the processor when youre analyzing a piece of code, and to act like it (just dont get used to it! Inhale,

5 of 11 9/29/2017, 4:06 PM
How to crack software a beginners tutorial! | Its All about Computers https://ajaywithcomputer.wordpress.com/2011/12/25/how-to-crack-sof...

exhale, inhale,

exhale nevermind, stupid joke) You have to do everything the processor does, you have to compare
registers and

variables, execute jumps and calls, calculate Basic mathimatical operations, store and load register
values and adresses,

and so on The processor has an instruction pointer especially for this, which is also called IP (it has
nothing to do with IP

addresses in the Internet Protocol, trust me). Using the instruction pointer, the processor points to the
instruction that is

about to be executed. The processor also has and executes instructions which change the code ow.

These instructions can be function calls, any other routine calls, jumps, conditional jumps, which de-
pend on the zero ag,

negative conditional jumps

6. Conclusion

In this part of the tutorial we have learnt the meaning of the word cracking. Making programs behave
as you want them to,

and not the way the programmer wants them to. We have also learnt about the basic and the popular
tools of cracking:

W32Dasm, Hiew and SoftICE. And nally we have learnt the 7 main steps of cracking.

Now, Before you go to the next chapter, you have to learn these 7 steps and download the tools men-
tioned above, because we cant go on to the next chapter unless you have those tools and know the
steps

Part 2

0. Introduction:

In this part, the second part of the cracking tutorial, you will learn to use the most important tools of
the common cracker: W32Dasm and HIEW. You will also learn to crack some simple programs.

The tutorials are divided into 3 parts:

Part 1:Introduction, tools and the basics of cracking.

6 of 11 9/29/2017, 4:06 PM
How to crack software a beginners tutorial! | Its All about Computers https://ajaywithcomputer.wordpress.com/2011/12/25/how-to-crack-sof...

Part 2: Practical training, using W32Dasm, and HIEW.

Part 3: key-generators

1. Disclaimer:

I created this tutorial for informational purposes only!

Much of the information in this document can be used to perform illegal activities!

Dont aempt to do anything stated in this document!

If you do aempt to do anything, you are solely and fully responsible for what you do!

If you get caught and get in any kind of trouble, its your own fault!

If you intend to use this information to impress your friends, leave it and grow up!

If you dont agree to this, do not read any more!

If you crack a program, and either sell the crack or oer it for free, it is a crime!

2. The main steps of cracking

You have already seen these steps in the previous part of the tutorial, but its very important to know
them. Remembering these steps and following them is 40% of the way towards success in cracking
the program!!!

There are 7 steps in the cracking process:

1.Run the program you want to crack and study its behavior. try to locate strings and keywords, try
to enter the password and see how the program responds.

2.Open the program with the W32Dasm and disassemble it.

3.Find typical and common Strings in the disassembly that appeared within the program.

in most cases, you have to look for keywords such as: password, name, date, expired, Time limit,
wrong, entered and so on.

4.Find and observe the password generator, nd the learn protection routine and the API calls.

5.Try to understand the jumping mechanism of the protection.

7 of 11 9/29/2017, 4:06 PM
How to crack software a beginners tutorial! | Its All about Computers https://ajaywithcomputer.wordpress.com/2011/12/25/how-to-crack-sof...

6.Open the program in Hiew. change the jump of the ow control to its opposite jump command, or
NOP it out.

7.Run and check how the change you have made in the original program aected it.

Feel the power you have, the power of of cracking, making programs behave the way you want them
to.

Learn those steps very well, until u dream of them, u will use them in every program you crack.

3. Additional programs you need to have for this part of the tutorial

By now, in this part of the tutorial, you have learnt the main steps of cracking. Now, you are going to
crack your rst program.

But before that, you need to get a lile program called: Sweet Lile Piano You can download it
from:hp://www.ronimusic.com/ (hp://www.ronimusic.com/)

Now, when you have the program, lets start!

4. Cracking the rst program (Sweet lile Piano)

Now we will follow each step and crack the program:

Step 1: Running the program:

Well, Run it! Duh

Well, what do we see here.. The program opens two text les. Also we see Unregistered Share-
ware on the caption bar

Now lets open the Help menu for any registration options Humm, what do we see here now

oh, its a password option Well, select it and enter something (dont hope it will be right :-)). To see
what happens Click

OK.. Hmm, nothing happens. Maybe it accepted it? Hmm.. no way the caption bar still says Un-

8 of 11 9/29/2017, 4:06 PM
How to crack software a beginners tutorial! | Its All about Computers https://ajaywithcomputer.wordpress.com/2011/12/25/how-to-crack-sof...

registered Ok close it

bah more text les and a notication that the seings are not saved in the unregistered version
well kind of

irritating those text les! Lets x it

Step 2: Disassemble the program:

Disassemble the program. Good, small is fast Always. Now, we dont have any strings that pop
up when we want to

register something Lets browse for strings like registered, unregistered, the string about the un-
saved seings. Hmm

evaluation time left password.txt. passworddialog. sweet lile piano Unregistered << looks
like our caption bar

go onThanks for registering cool! So it thanks you anyway Lets jump to that place Double
click on it an we will pop

right on top of the registration routine

Step 3: Analyzing the protection routine. / Understanding the jumping Mechanism

Lets analyze the protection routine.

PasswordDialog a call to GetDlgItemTextA another call. a test and depending on the test a
je. The je jumps over the thank you And just ends the dialog box without telling you that you
entered something wrong So this is right we did indeed not see that we typed something wrong
but apparently we are supposed to see if we type something right

Again execute the je jump, and look where it goes to return from the jump. Now lets try to re-
write what goes on here

call ShowPasswordDialog

call GetEnteredText

call IsEnteredTextGood

9 of 11 9/29/2017, 4:06 PM
How to crack software a beginners tutorial! | Its All about Computers https://ajaywithcomputer.wordpress.com/2011/12/25/how-to-crack-sof...

test value in eax

je QuietExit

ShowThanksForRegistering

QuietExit:

the source code must have looked like this :

GetDlgItemText(_ID_Serial);

if (EnteredTextGood) ShowThanksForRegistering

// else nothing.

This is another interesting piece of code. test eax, eax this assembler instruction tests if the value
of eax is equal to

itself if it is it is equal so a je instruction jumps if it is not equal, it does not jump. To crack
this program we can change the je instruction into two nop instructions and we are done

We have seen here, that the call has put a value in eax. something which is not equal to zero or a
zero In our previous

example we saw that the called Is_Serial_Valid call set some value in memory Here we see that the
called

Is_Serial_Valid call sets the eax register of our processor to some value.

Step 4: Changing the original program

So modify it

1. Open Hiew. 2.Open the le within Hiew.

3.Find the Adress of the line in W32Dasm (its on the status bar beginning with @).

10 of 11 9/29/2017, 4:06 PM
How to crack software a beginners tutorial! | Its All about Computers https://ajaywithcomputer.wordpress.com/2011/12/25/how-to-crack-sof...

4.Press F5 in Hiew.

5.Enter the address you have found in (4) and press ENTER.

6.Press F3 for activating the write option.

7.Press F2 to change the instruction.

8.Replace the command by NOP (without quotes), which means NO OPERATION.

9.Now a new command appeared in the next line.

10.Replace it by NOP too.

11.If another new instruction hasnt appeared, Press F9 to update the le.

12.Press F10 to exit.

13.Run the program and see the result.

11 of 11 9/29/2017, 4:06 PM

You might also like