Skip to content

Essential Resources for Binary Exploitation and Reverse Engineering

Mathematical Foundations

  1. "Linear Algebra and Its Applications" by Gilbert Strang
  2. MIT OpenCourseWare Linear Algebra

  3. "Mathematics for Computer Science"

  4. MIT OpenCourseWare Course Materials

  5. Research Paper: "Applications of Linear Algebra in Computer Science"

  6. DOI: 10.1007/978-3-642-20556-9_15

Computer Architecture and Systems

  1. "Computer Systems: A Programmer's Perspective" (CS:APP)
  2. CMU Course Page

  3. "Computer Organization and Design RISC-V Edition"

  4. RISC-V Resources

  5. "Digital Design and Computer Architecture: ARM Edition"

  6. Companion Site

  7. Research Paper: "The Case for RISC-V in Computer Architecture Education"

  8. DOI: 10.1145/3338698.3338892

Assembly Language and Low-Level Programming

  1. "Low-Level Programming: C, Assembly, and Program Execution"
  2. Author's Resources

  3. "Assembly Language Step by Step"

  4. x86 Assembly Reference

  5. Research Papers:

  6. "Understanding the Relationship Between Modern Optimizing Compilers and Assembly Code" DOI: 10.1145/3316482.3326351
  7. "A Survey of Reverse Engineering and Program Analysis Techniques" DOI: 10.1109/MC.2019.2914799

Reverse Engineering Tools and Techniques

  1. "Practical Binary Analysis"
  2. Author's Website

  3. "The IDA Pro Book"

  4. Official IDA Resources

  5. "Ghidra: The Definitive Guide"

  6. NSA Ghidra GitHub

  7. Research Paper: "Dynamic Binary Analysis and Instrumentation"

  8. DOI: 10.1145/2786805.2803178

Binary Exploitation

  1. "Hacking: The Art of Exploitation"
  2. Author's Resources

  3. "The Shellcoder's Handbook"

  4. Wiley Resource Center

  5. Research Papers:

  6. "A Survey of Control-Flow Integrity Methods" DOI: 10.1145/3054924
  7. "Modern Binary Exploitation Techniques" DOI: 10.1109/SP.2019.00074

Memory Management and Protection

  1. "Understanding the Linux Virtual Memory Manager"
  2. Kernel Documentation

  3. "Understanding and Exploiting Memory Corruptions"

  4. MIT CSAIL Publications

  5. Research Paper: "Memory Safety in Modern Systems Programming Languages"

  6. DOI: 10.1145/3293883.3295702

Advanced Topics

  1. "Automated Software Testing for Program Analysis"
  2. CMU SEI Resources

  3. "Operating Systems: Three Easy Pieces"

  4. Free Online Book

  5. Research Papers:

  6. "Advances in Automated Software Vulnerability Detection" DOI: 10.1145/3293882.3330579
  7. "Modern Approaches to Binary Instrumentation" DOI: 10.1109/SP.2020.00074

Online Courses and Video Resources

  1. MIT 6.858 Computer Systems Security

  2. Stanford CS155: Computer and Network Security

  3. LiveOverflow YouTube Channel

  4. Modern Binary Exploitation - RPISEC

Practice Platforms

  1. CTFtime
  2. Pwnable.kr
  3. Root-Me
  4. Exploit Exercises

Development Tools and References

  1. Compiler Explorer
  2. x86 Assembly Reference
  3. DWARF Debugging Standard
  4. Binary Ninja Documentation