Summary
In this chapter, we uncovered the differences between a compiler, interpreter, and assembler. You learned about the various phases of a compiler and the role that each phase plays during program compilation.
Then, we explored several tools that can be used to create shellcode. These spanned compilers, assemblers, and disassemblers. Finally, we looked at MSFvenom and additional tools that can be used to create shellcode or enhance it.
In the next chapter, we will start working with shellcode for Windows environments.