The absolute basics of exploitation
In this section, we will look at the most critical components required for exploitation. We will discuss a wide variety of registers in the x86 architecture, along with necessary Opcodes such as NOPs (No Operations), JMP (Jump), JNZ (Jump if not Zero), and CALL.
The basics
Let's cover the terminologies that are necessary when learning about exploit writing. The following terms are based on hardware, software, and security perspectives in exploit development:
- Register: This is an area on the processor used to store information. Also, the processor leverages registers to handle process execution, memory manipulation, API calls, and much more.
- x86 instruction set: 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.
- Assembly language: This is a low-level and somewhat readable programming language with simple operations. However...