What this book covers
Chapter 1, The Ins and Outs of Shellcode, introduces you to shellcode. We will ensure you have a good understanding of what shellcode is, how it is used, and how to read its syntax.
Chapter 2, Assembly Language, focuses on assembly language. It will cover a number of aspects of assembly language, such as the following:
- Registers and flags
- Data types
- Data movement instructions
- Arithmetic instructions
- Conditional instructions
Chapter 3, Shellcode Tools and Resources, focuses on the various compilers and tools that can be used with assembly language to create shellcode.
Chapter 4, Developing Shellcode for Windows, dives into the development of shellcode on Windows operating systems.
You will learn how to make use of different shellcode techniques to deploy shellcode within a program. The chapter will focus on the thought process around creating and deploying shellcode along with practical examples that you can perform in your own lab environment.
Chapter 5, Developing Shellcode for Linux, dives into the development of shellcode on Linux operating systems.
You will learn how to make use of different shellcode techniques to deploy shellcode within a program. The chapter will focus on the thought process around creating and deploying shellcode along with practical examples that you can perform in your own lab environment.
Chapter 6, Countermeasures and Bypasses, looks at the various countermeasures and bypasses for both Windows and Linux. The aim here is to sum up the book by discussing how software vendors have made advancements in mitigations against shellcode. However, on the flip side, we will cover how to bypass those countermeasures where possible.