ABOUT OllyDbg

Hello
This time I'm going to be discussing the program OllyDbg and giving you a brief introduction on how to use it/find your way around it. I will be asking you to install it at some point during this tutorial because it is REQUIRED for you to totally understand the tutorial and it also the program you will use when we start modifying the Little Fighter 2 program. So to start...

OllyDbg is a 32-bit assembly level analysing debugger. Thats all well and done but what does it mean? Lets start by taking a look at the word debugger. OllyDbg is a debugger that is used for debugging or locating and correcting errors in an executable file, like that of the Little Fighter Program.

Okay now for the slightly more tricky understanding in my opinion; assembly. Assembly level is the level of coding or programming just before machine code. It is the closest thing to machine code that a human can understand fully and write programs in, otherwise known as a low level language. Does that mean that there is a high level language? Yes, not just one, but lots of them. Examples of high level languages include C, C   and C# (just to note down all the C's). 32-bit assembly level is Assembly written for programs or computers that can utilise or move memory in 32-bit groups.

That is all simple yes? So now lets put it all together. OllyDbg is used to analyse and locate or correct errors in 32-bit executable files. Now thats in a whole lot more easy context, we can begin looking at the program.

So why is OllyDbg important? You're going to be using it (in the majority of cases) more than any other Hex or .exe editing tool when you are looking at the Little Fighter program.

STRUCTURE REGISTER MEMORY

Register structure

REGISTER
Register is a small computer memory used for data shelters.


Memory is the storage place various forms of information as binary numbers. The information will not be resolved binary form (encoded) by the number of instructions that turns it into a sequence of numbers or figures. For example: The letter F is stored as a decimal number 70 (or binary) using one method of solving. More complex instructions that can be used to store pictures, sound, video, and various kinds of information. The information can be stored in a single sell is called a byte.


The data contained in the register can be processed in a variety of operations with the ability to see how big these registers (8 or 16 bit).
classification Register
General Purpose Register
segment Register
pointer Register
index Register
flag Register
General Purpose Register
Accumulator register AX (16 BIT)
AX = AH (8 BIT) + AL (8 BIT)
BX Base Register (16 BIT)
BX = BH (8 BIT) + N (8 BIT)
CX Counter Register (16 BIT)
CX = CH (8 BIT) + CL (8 BIT)
DX Data Register (16 BIT)
DX = DH (8bit) + DL (8 BIT)
Segment Register?
CS Code Segment Register (16 bits)
DS Data Segment Register (16 bits)
SS Stack Segment Register (16 bits)
ES Extra Segment Register (16 bits)
pointer Register

Instructions IP Pointer Register (16 bits)
Stack Pointer SP (16 bit)
BP Base Pointer (16 bits)
index Register
SI Source Index Register (16 bits)
DI Destination Index Register (16 bits)
flag Register
16-bit register with the following composition:
Architecture Processor 8086/8088
= 1 MB of memory capacity.
There is 1 MB (220) = 1024 8-bit memory cell, the address of 0 s / d 220-1 or 00 000 H s / H d FFFFF