General Information

GENERAL PURPOSE REGISTERS

• EAX (accumulator): Arithmetical and logical instructions

• EBX (base): Base pointer for memory addresses

• ECX (counter): Loop, shift, and rotation counter

• EDX (data): I/O port addressing, multiplication, and division

• ESI (source index): Pointer addressing of data and source in string copy operations

• EDI (destination index): Pointer addressing of data and destination in string copy operations

ESP - THE STACK POINTER

Stack pointer is used for:

• Storage of data

• Pointers

• Arguments

The stack pointer keeps ‘track’ of the most recently referenced location/memory address, by storing a pointer to it

EBP - THE BASE POINTER

Stores a pointer at the top of its own stack frame, storing the required arguments, variable and return address. Easy to call during execution

EIP – THE INSTRUCTION POINTER

Directs the flow of program - crucial

DEP – DATA EXECUTION PREVENTION

Hardware and software that performs additional checks on memory to help prevent malicious code form executing - raises exception when code execution from data pages is detected

ASLR – ADDRESS SPACE LAYOUT RAMDOMIZATION

Randomises base address of loaded applications and DLL’s (not implemented on XP)

CFG – CONTROL FLOW GUARD

Prevents overwrites of function pointers

Last updated