The elemental assembly primer
In this section, we will look at the basics of assembly language. 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 out 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 to learn about exploit writing.
Let's cover the basic definition of the terms we are going to use in this chapter. The following terms are based upon the hardware, software, and security perspective in exploit development:
Register: This is an area on the processor that is used to store information. In addition, every process that a processor executes is through registers.
x86: This is a family of system architectures that are found mostly on Intel-based systems and are generally 32-bit systems, while x64...