# 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/)