Essential Resources for Binary Exploitation and Reverse Engineering
Mathematical Foundations
- "Linear Algebra and Its Applications" by Gilbert Strang
-
"Mathematics for Computer Science"
-
Research Paper: "Applications of Linear Algebra in Computer Science"
- DOI: 10.1007/978-3-642-20556-9_15
Computer Architecture and Systems
- "Computer Systems: A Programmer's Perspective" (CS:APP)
-
"Computer Organization and Design RISC-V Edition"
-
"Digital Design and Computer Architecture: ARM Edition"
-
Research Paper: "The Case for RISC-V in Computer Architecture Education"
- DOI: 10.1145/3338698.3338892
Assembly Language and Low-Level Programming
- "Low-Level Programming: C, Assembly, and Program Execution"
-
"Assembly Language Step by Step"
-
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
- "Practical Binary Analysis"
-
"The IDA Pro Book"
-
"Ghidra: The Definitive Guide"
-
Research Paper: "Dynamic Binary Analysis and Instrumentation"
- DOI: 10.1145/2786805.2803178
Binary Exploitation
- "Hacking: The Art of Exploitation"
-
"The Shellcoder's Handbook"
-
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
- "Understanding the Linux Virtual Memory Manager"
-
"Understanding and Exploiting Memory Corruptions"
-
Research Paper: "Memory Safety in Modern Systems Programming Languages"
- DOI: 10.1145/3293883.3295702
Advanced Topics
- "Automated Software Testing for Program Analysis"
-
"Operating Systems: Three Easy Pieces"
-
Research Papers:
- "Advances in Automated Software Vulnerability Detection" DOI: 10.1145/3293882.3330579
- "Modern Approaches to Binary Instrumentation" DOI: 10.1109/SP.2020.00074