First let’s start with some question and answers:
Q) What is cracking will be the first and foremost question...???
A) The answer is simple .....It’s an art which needs not only reading but also training.
Computer is a practical subject and it needs to be practiced regularly. So is cracking too....Actually to crack means to modify the program to cater our needs and not the programmer's needs. Crackers have the job of unlocking the shareware
or evaluate shareware for your lifetime without paying the author. Trial ware or shareware are programs that demand registration. There are many types some softwares use name/serial no protection, ome softwares allow them to be evaluated
for 30 days, or 25 uses ,etc.....are some examples.
Q) Who are hackers ? && Who are crackers ?
A) Hackers are different from crackers ,hackers are people who
steal passwords from a network .They have good programming knowledge in perl,python which are not only good hacking languages but also good programming landuages. They know the in and out of the OS.(example = Windows). They know the holes in the system and they know how to safeguard their own computer since they attack and exploit others.....
A CR@cKer is one who registers a shareware or trialware without paying the software authors.He is not only capable of registering shareware but also knows to program in VB , C, VC++ and assembly ofcourse. This programming knowledge is regarding elite crackers and not to newbies. But someday or the other newbies develop into a elite crackers in course of time and learn these things.
Q) What you need to know to crack.....???
A) Well here we go ,
You need to know basic terms in assembly and some knowledge about hex values of the
jumps will do ..... you must also have some programming knowledge in C or VB for coding Key Generators. You will also need a good working brain along with certain tools especially OllyDbg 1.10.
Note: If you already know the basics of Assembly you may go directly to Page 4.
Q) What are registers ?
A) Registers are variables which are stored in your processor. The processor uses these variables for basic mathematical and logical operations. The mostly used registers are : eax, ebx, ecx and edx. Sometimes you may also see registers like edi, esi, esp, ebp.
Q) What are Flags ?
A) Flags are Boolean variables (get 0 or 1 values). Flags are used by the processor for internal logical and mathimatical operations. There are two important flags such as ZERO flag and NON ZERO flags.
Q) What does the term Code Flow mean?
A) When you are analysing a piece of code, you must understand that the processor is actually quite simple, it simply follows the basic instructions, line by line.
Q) What is a call ?
A) The syntax for a call should be like this
//SYNTAX//
.XXXXXXXX call ZZZZZZZZ // where .XXXXXXXX is the offset of the call and ZZZZZZZZ is the line no to be called
A "call" instruction calls the specified line no( here it is ZZZZZZZZ )
Q) What is "cmp" ?
A)I think you should be guessed it by now......well if not here's the answer ...... for you....
It means compare and compares two registers. Its syntax must look like this
//SYNTAX//
.XXXXXXXX cmp eax,edx (or any other register)
Q) What is an offset ?
A) Its quite simple to answer this one because it means a line no or address which appears in OllyDbg "@ Offset bla..bla..h"
where bla..bla.. is the offset and 'h' means hex.
Q) What is a jump?
A) A jump is an instruction which is very similar to a call except for the word....Pls substitute "Jump" in place of "Call" in the syntax
and it must be fine only now follows a jump bombing....gEt re@Dy !!!!!
Q) What is the OllyDbg ?
A) It is a disassembler / debugger which is used for debugging/disassembling programs.(both 16 bit and 32 bit windows programs)
For newbies OllyDgb is recommended by most crackers.I surely believe that OllyDgb is always better than the best. Thanks to Oleh Yuschuck
ASM Codes :
Asm Explanation
****** ***************
je jump equal >>> hex value is 74
jne jump not equal >>>hex value is 75
jnb jump not below >>>hex value is 73
jna jump not above >>>hex value is 76
ja jump above >>>hex value is 77
jb jump below >>>hex value is 72
jle jump lower or equal >>>hex value is 7E
jge jump greater or equal >>>hex value is 7D
jbe jump below or equal
jae jump above or equal
jnbe jump not below or equal
jnae jump not above or equal
jnge jump not greater or equal
jnbe jump not below or equal
jz jump if zero
jnz jump if not zero
jg jump if greater >>>hex value is 7F
jl jump if lesser >>>hex value is 7C
nop No-OPeration >>>It tells the program to "do absolutely nothing"
jmp jump directly to >>>this is an unconditional jump >>>hex value is EB
inc eax ==>>hex value = 40 ,
dec eax ==>>hex value= 48 ,
nop ==>>hex value= 90
I think that's enough for the jumps and asm bombings.The hex value for nop is 90.The "inc eax" means increase eax by one. The "dec eax" means decrease eax value by one. Therefore the net result is zero.......sh!T...???..c0nfuseD....dont panic…
Enough for that silly Q&A lets go directly to our main dish….
For this tutorial we will only need OllyDbg to crack our program which is RegEdit and TaskMgr. You may be asking yourself why would you like to crack RegEdit or TaskMgr because it is already free when you install your Win OS. The answer is there may be some instances when your friendly administrator have disabled the use of TaskManager and RegEdit or a virus had infected your computer and disabled those two tools so that you cannot easily remove the infection…
When your TaskManager and RegEdit is disabled you will see these two MessageBoxes that tells you that you are not allowed to use TaskManager or the Registry Editor.
Quote:
Note: If TaskManager and RegEdit is not Disabled you can Disable it using the RegEdit&TaskManager Disabler that is included in this tutorial the application just adds two Entry in the registry and at the end of this tutorial you should possibly have the knowledge on what are those two entry and how to restore your regedit and taskmanager back… The Cracking :
Tools Needed : OllyDbg 1.10 (Google for it in the web. It’s Free)
First we will crack TaskMgr.exe to make it work even though it is disabled by your administrator.
1. Load your TaskMgr.exe to OllyDbg by Choosing File > Open and locating your TaskMgr.exe in the Windows Folder.
Note: It is usually located in “C:\WINDOWS\system32\taskmgr.exe”
2. Once loaded we will automatically break at OEP. You will see a window like this. It is a disassembly listing of the taskMgr.exe the Highlighted line is the OEP (Original Entry Point) of the program.
3. Next Press F9 which is the shortcut key for Run to Execute the application. As we already know we will be greeted by this MessageBox. Press Ok to terminate the application
4. Our next move is to find out where that MessageBox is called.
It is probably shown using the MessageBox Function. So we will set our breakpoint at the places where MessageBox is called so Press Ctrl-F2 to restart our application.
If a Message box appears saying Process blah blah is active if you terminate ……..
Just press ok. Then Right Click on the disassembly listing and
select Search for > Name (label) in current module or Press Ctrl + N
5. A window will popup that lists all the functions that are imported by the application
6. Look for MessageBoxW then Right Click on it and select Set Breakpoint on every reference
When you’ve done it correctly it will show you at the StatusBar that you’ve set 11 Breakpoints that is the number of times that MessageBoxW appeared in the application.
7. Now Press F9 to Continue Executing the application…
We are now at the point where MessageBoxW will be called…
Just look above the MessageBoxW Call and you can see the call to RegOpenKeyEx and RegQueryValueExW.
The RegOpenKeyEx Open the registry Key “Software\\Microsoft\\Windows\\CurrentVersion\\Pol icies\\System"
And the RegQueryValueExW Gets the value stored in the Value “DisableTAskMgr”
That means that TaskMgr.exe actually looks for the value in the registry entry “Software\\Microsoft\\Windows\\CurrentVersion\\Pol icies\\System\\DisableTAskMgr “ and checks if its zero(Enabled) or 1(Disabled) which is then check by the JE Operation below the RegCloseKey.
If its Zero it would jump pass the MessageBox and Show the TaskMgr else it would continue executing the next line and show the MessageBox.
8. Now we know where to patch our TaskMgr to do that
Click JE Short taskmgr.01005574 and Press F2 or Toggle BreakPoint then
Press Ctrl+F2 to Restart our application then
Press F9 to Continue we will now break on our breakpoint.
Double click on the JE Command and Replace JE to JMP or unconditional jump. Then Click Assemble.
9. You may now Press F9 and the MessageBox will not show anymore instead it will show the Windows Task Manager.
Observations : To crack an application you should first observe your target in this tutorial a messagebox is shown saying that taskmanager is disabled so we’ve set a breakpoint on the MessageBoxW Function and analyzed the code above the call to MessageBoxW then we found that it checks for a specific key in the registry and if it found that its value is 1 it should show the Message Box. We can actually set a breakpoint on RegOpenKeyEx and RegQueryValueExW which is use to access the registry if we already know that it checks for a specific key in the registry.
10. To Save Your patched Task Manager Right Click on the Code Window and Select Copy to Executable > All Modifications > Copy All
11. Right Click on the PopUp Window and Select Save File… Save your patched TaskMgr.exe as TaskMgrPatched.exe and your done…
Cracking RegEdit
Now let’s move on in cracking our RegEdit Lets still follow the same steps in cracking the Task Manager.
1. Load RegEdit.exe in Olly then Set BreakPoint in MessageBoxW and Press F9
2. Look for a JE above the MessageBox Call set a BreakPoint then Restart Olly by Pressing F2 then Press F9 to continue we will then break to our break point in JE
3. Patch JE to JMP to bypass the MessageBox then Press F9… Easy Huh…
4. Oops… what happened the MessageBox did not show but RegEdit Terminated. Our Patch was wrong we must still find where the why the Message Box is shown. In our TaskManager It must first check in the registry if a certain Key is present to know if it is disabled or not. We may try to set a breakpoint on all RegOpenKeyExW.
5. So Press Ctrl + F2 to restart the application then
Press Ctrl + N
And Look For RegOpenKeyW there is also RegOpenKeyExW and RegOpenKeyExA on top of it so set also a breakpoint on that Functions to be sure…
After you’ve set the breakpoints you can now press “F9”
After pressing F9 we will break at RegOpenKeyW… It also checks the Same Key like in the TaskMgr maybe this would work… if we patch the JNZ below to JMP we would fool RegEdit that the Key does not exists. W/c means it is not disabled…Let’s try… to change JNZ to JMP.
After you’ve changed JNZ to JMP press F9 and voila no more MessageBox and the Registry Editor did not Terminate. You can now save your New RegEdit by Following steps 10 to 11 in the TaskManager tutorial.