In this section, we will take a look at the code that gets executed by the attacker. This code gets executed in very special conditions without a PE header, known memory addresses, or an import table. Let's take a look at what the shellcode is and how it's written for Linux (Intel and ARM processors) and later for the Windows operating system.
Cracking the shellcode
What's shellcode?
Shellcode is a list of carefully crafted instructions that can be executed once the code is injected into a running application. Due to most of the exploit's circumstances, the shellcode must be position-independent code (which means it doesn't need to run in a specific place in memory or requires a base relocation table to fix...