# Essential Resources for Binary Exploitation and Reverse Engineering ## Mathematical Foundations 1. "Linear Algebra and Its Applications" by Gilbert Strang - [MIT OpenCourseWare Linear Algebra](https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/) 2. "Mathematics for Computer Science" - [MIT OpenCourseWare Course Materials](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/) 3. Research Paper: "Applications of Linear Algebra in Computer Science" - DOI: 10.1007/978-3-642-20556-9_15 ## Computer Architecture and Systems 1. "Computer Systems: A Programmer's Perspective" (CS:APP) - [CMU Course Page](https://www.cs.cmu.edu/~213/) 2. "Computer Organization and Design RISC-V Edition" - [RISC-V Resources](https://riscv.org/technical/specifications/) 3. "Digital Design and Computer Architecture: ARM Edition" - [Companion Site](https://booksite.elsevier.com/9780128000564/) 4. Research Paper: "The Case for RISC-V in Computer Architecture Education" - DOI: 10.1145/3338698.3338892 ## Assembly Language and Low-Level Programming 1. "Low-Level Programming: C, Assembly, and Program Execution" - [Author's Resources](https://github.com/Apress/low-level-programming) 2. "Assembly Language Step by Step" - [x86 Assembly Reference](https://www.felixcloutier.com/x86/) 3. Research Papers: - "Understanding the Relationship Between Modern Optimizing Compilers and Assembly Code" DOI: 10.1145/3316482.3326351 - "A Survey of Reverse Engineering and Program Analysis Techniques" DOI: 10.1109/MC.2019.2914799 ## Reverse Engineering Tools and Techniques 1. "Practical Binary Analysis" - [Author's Website](https://practicalbinaryanalysis.com/) 2. "The IDA Pro Book" - [Official IDA Resources](https://hex-rays.com/ida-pro/) 3. "Ghidra: The Definitive Guide" - [NSA Ghidra GitHub](https://github.com/NationalSecurityAgency/ghidra) 4. Research Paper: "Dynamic Binary Analysis and Instrumentation" - DOI: 10.1145/2786805.2803178 ## Binary Exploitation 1. "Hacking: The Art of Exploitation" - [Author's Resources](https://nostarch.com/hacking2.htm) 2. "The Shellcoder's Handbook" - [Wiley Resource Center](https://www.wiley.com/en-us/The+Shellcoder%27s+Handbook%3A+Discovering+and+Exploiting+Security+Holes%2C+2nd+Edition-p-9780470080238) 3. Research Papers: - "A Survey of Control-Flow Integrity Methods" DOI: 10.1145/3054924 - "Modern Binary Exploitation Techniques" DOI: 10.1109/SP.2019.00074 ## Memory Management and Protection 1. "Understanding the Linux Virtual Memory Manager" - [Kernel Documentation](https://www.kernel.org/doc/html/latest/admin-guide/mm/index.html) 2. "Understanding and Exploiting Memory Corruptions" - [MIT CSAIL Publications](https://people.csail.mit.edu/nickolai/papers/wang-thesis.pdf) 3. Research Paper: "Memory Safety in Modern Systems Programming Languages" - DOI: 10.1145/3293883.3295702 ## Advanced Topics 1. "Automated Software Testing for Program Analysis" - [CMU SEI Resources](https://resources.sei.cmu.edu/library/) 2. "Operating Systems: Three Easy Pieces" - [Free Online Book](https://pages.cs.wisc.edu/~remzi/OSTEP/) 3. Research Papers: - "Advances in Automated Software Vulnerability Detection" DOI: 10.1145/3293882.3330579 - "Modern Approaches to Binary Instrumentation" DOI: 10.1109/SP.2020.00074 ## Online Courses and Video Resources 1. [MIT 6.858 Computer Systems Security](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-858-computer-systems-security-fall-2014/) 2. [Stanford CS155: Computer and Network Security](https://cs155.stanford.edu/) 3. [LiveOverflow YouTube Channel](https://www.youtube.com/c/LiveOverflow) 4. [Modern Binary Exploitation - RPISEC](https://github.com/RPISEC/MBE) ## Practice Platforms 1. [CTFtime](https://ctftime.org/) 2. [Pwnable.kr](http://pwnable.kr/) 3. [Root-Me](https://www.root-me.org/) 4. [Exploit Exercises](https://exploit-exercises.com/) ## Development Tools and References 1. [Compiler Explorer](https://godbolt.org/) 2. [x86 Assembly Reference](https://www.felixcloutier.com/x86/) 3. [DWARF Debugging Standard](http://dwarfstd.org/) 4. [Binary Ninja Documentation](https://docs.binary.ninja/)