Attackers must have a fair understanding of the Assembly language to develop custom exploits. In this section, we will cover some basics that are required to develop a Windows exploit by building ourselves a vulnerable application.
From the exploit development perspective, the following is a list of basic terms that penetration testers must understand when developing an exploit:
- Registers: All the processes execute via registers. They are used to store information.
- x86: This includes 32-bit systems, mostly Intel-based; 64-bit systems are represented as x64.
- Assembly language: This includes a low-level programming language.
- Buffer: This is a static memory holder in a program that stores data on top of the stack or heap.
- Debugger: Debuggers are the programs that can be utilized to see the runtime of a program while executing and also to look at the...