Introduction - Start Here

Welcome! I'm Alex, and I created this site to document my progress as I learn binary exploitation, and to help others that may be doing the same.

There aren’t necessarily any prerequisites for this blog, but if you are new to the subject then you should familiarize yourself with the basics before continuing:
  • The C programming language. There is a plethora of resources online, but I found Learn-C and Learn C The Hard Way particularly helpful. C is essential to understanding memory management and assembly language. Make sure you spend some time learning the compilation process which converts human-readable C code into executable machine code.
  • Introduction to Intel X86 Assembly from OpenSecurityTraining. Xeno Kovah introduces Intel X86 Assembly and walks you through the most common instructions in early-2000s 480p YouTube glory. This two-day, 16-hour series is a major investment, but it will pay dividends.
  • Exploits 1 from OpenSecurityTraining. Corey Kallenburg explains binary exploitation fundamentals. Another 16-hour commitment. Make sure to grab the Linux VM when prompted and pause to learn more about the Linux terminal if you’re having a hard time following along, or if you’ve never used a CLI before.
  • A scripting language. I recommend Python. Why Python, if you’ve just learned C? Because we want something quick and dirty to help us generate our payloads, and then generate them again when they need tweaking, and then again, and again… put simply, we need something that we can write quickly and execute quickly without needing to wait for compilation.
From now on, it will be assumed that you have a sufficient understanding of the above four concepts.

Get started with my Microcorruption series.