|
::::::::: :::::::: ::::::::: :::::::::: :+: :+: :+: :+: :+: :+: :+: +:+ +:+ +:+ +:+ +:+ +:+ +#++:++#+ +#++:++#++ +#++:++#: :#::+::# +#+ +#+ +#+ +#+ +#+ +#+ #+# #+# #+# #+# #+# #+# #+# ######### ######## ### ### ### http://blacksun.box.sk/%20http://blacksun.box.sk _____________________________ ______________________I Topic: I_____________________ \ I I / \ HTML by: I Cracking Tutorial - Part 1 I Written, © by: / > I version 1.0, 21/9/1999 I < / Martin L. I_____________________________I <TeCh~LoRd> \ /___________________________> <_________________________\ |
Index:
0.
Introducion.
1.
Disclaimer.
2. What
is cracking?
3.
Tools.
4. The
main steps of cracking.
5.
Basic terms in assembly.
6.
Final conclusion.
I have read many cracking tutorials lately.
Frankly speaking, I myself
learned cracking from tutorials (and some book, but this doesnt really
matter).
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 don't 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 first part. ;-)
I created this tutorial for informational purposes only!
Much of the
information in this document can be used to perform illegal activities!
Don't
attempt to do anything stated in this document!
If you do attempt to do
anything, you are solely and fully responsible for what you do!
If you get
caught and get in any kind of trouble, it's your own fault!
If you intend to
use this information to impress your friends, leave it and grow up!
If you
don't agree to this, do not read any more!
If you crack a program, and either
sell the crack or offer it for free, it is a crime!
For me, cracking is:
"Letting 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 stuff 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 offering it for free, it is a crime!
After reading those three tutorials (this is the first one in thsi
series),
you will feel the power you have in your hands (I mean, in your
head).
well, let's get started?
3. ToolsThere are very few tools you need by now...
It is very easy to find them
over the web, cause they are quite popular:
The first one is "Win32 Disassembler", which is also know ans
W32Dasm.
The Win32 Disassembler allows you to:
Well, u can get it in almost any cracking site, but I'll give you some URLs:
I think that's about enough. If any of these links goes down, please alert me.
The second tool you need is Hiew, which is also known as Hacker's View. The Hacker's View Tool allowes you to:
Here are some URL's as well:
You can also download an excellent program for cracking called Soft-ICe. Anyway, we won't need it in this part of the tutorial. Anyway, here are some URLs for Soft-ICe.
SoftICE for Windows95:
SoftICE for Windown NT:
There's also SoftICE for DOS, which I dont recommend.
You can also download the Win 3.1x versions at:
There are 7 steps in the process of cracking:
Learn those steps very well, until u dream of them, u will use them in every program you crack.
A. Registers:
Registers are variables which are stored in your processor. The processor uses these variables for basic 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 Difference between the two types is the veriable 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 flag 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 written 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 you're analyzing a piece of code, and to act like it (just don't get used to it! Inhale, 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 flow.
These instructions can be function calls, any other routine calls, jumps, conditional jumps, which depend on the zero flag, negative conditional jumps...
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 finally 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 mentioned above, because we can't go on to the next chapter unless you have those tools and know the steps.
Cya in the next chapter.
<TeCh~LoRd>
Other tutorials by BSRF
-----------------------
* FTP Security.
*
Sendmail Security.
* Overclocking.
* Ad and Spam Blocking.
*
Anonymity.
* Info-Gathering.
* Phreaking.
* Advanced Phreaking.
*
More Phreaking.
* IRC Warfare.
* Proxies, Wingates and SOCKS
Firewalls.
* RM Networks.
* The Windows Registry
* Hardware