The absolute basics of exploitation
In this section, we will look at the most important components required in exploitation. We will discuss a wide variety of registers supported in different architectures. We will also discuss Extended Instruction Pointer (EIP) and Extended Stack Pointer (ESP) and their importance in writing exploits. We will also look at No Operation (NOP) and Jump (JMP) instructions and their importance in writing exploits for various software.
The basics
Let's cover the basics that are necessary when learning about exploit writing.
The following terms are based upon the hardware, software, and security perspectives in exploit development:
Register: This is an area on the processor used to store information. In addition, the processor leverages registers to handle process execution, memory manipulation, API calls, and so on.
x86: This is a family of system architectures that are found mostly on Intel-based systems and are generally 32-bit systems, while x64 are 64-bit systems...