6. General Purpose Registers
Base register It is used as a base pointer for memory access Gets some
interrupt return values
EAX
EBX
ECX
EDX
Counter register It is used as a loop counter and for shifts Gets some
interrupt values
Accumulator register.It is used for I/O port access, arithmetic, interrupt
calls, etc...
Data register It is used for I/O port access, arithmetic, some interruptcalls.
7. Segment Registers
Holds the Data segment that your program accesses. Changing its value
might give erronous data.
CS
DS
SS
ES
FS
GP
These are extra segment registers available for far pointer addressing like
video memory and such.
Holds the Stack segment your program uses. Sometimes has the same value as
DS.Changing its value can give unpredictable results, mostly data related.
Holds the Code segment in which your program runs. Changing its value
might make the computer hang.
8. Index and pointer Registers
EDI
ESI
ESP
EBP
Data Pointer Register for memory operations
Stack Pointer Register
Stack Data Pointer Register
EIP Next Instruction
9. EFLAGSRegisters
Bit Label Desciption
---------------------------
0 CF Carry flag
2 PF Parity flag
4 AF Auxiliary carry flag
6 ZF Zero flag
7 SF Sign flag
8 TF Trap flag
9 IF Interrupt enable flag
10 DF Direction flag
11 11 OF Overflow flag
12-13 IOPL I/O Priviledge level
14 NT Nested task flag
16 RF Resume flag
17 VM Virtual 8086 mode flag
18 AC Alignment check flag (486+)
19 VIF Virutal interrupt flag
20 VIP Virtual interrupt pending flag
21 ID ID flag
Those that are not listed are reserved by Intel.
12. What is Buffer Overflow?
A buffer overflow condition exists when a program attempts to put
more data in a buffer than it can hold or when a program attempts to
put data in a memory area past a buffer
13. What is Buffer Overflow?
Environments Affected
Almost all known web servers, application servers, and web application
environments are susceptible to buffer overflows, the notable exception
being environments written in interpreted languages like Java or Python,
which are immune to these attacks (except for overflows in the Interpretor
itself).