mirror of
https://github.com/mohitmishra786/amILearningEnough.git
synced 2026-03-12 01:43:43 -05:00
added re and be
This commit is contained in:
107
src/resources/reverse-engineering/re-and-be.md
Normal file
107
src/resources/reverse-engineering/re-and-be.md
Normal file
@@ -0,0 +1,107 @@
|
||||
# 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/)
|
||||
32
src/roadmap/reverse-engineering/reverse-engineering.md
Normal file
32
src/roadmap/reverse-engineering/reverse-engineering.md
Normal file
@@ -0,0 +1,32 @@
|
||||
```mermaid
|
||||
graph TD
|
||||
A[C Programming Foundation] --> B[Computer Architecture]
|
||||
B --> C[Assembly Basics]
|
||||
C --> D[Basic Tools]
|
||||
D --> E[Static Analysis]
|
||||
D --> F[Dynamic Analysis]
|
||||
|
||||
E --> G[Basic Binary Analysis]
|
||||
F --> G
|
||||
G --> H[Memory Corruption]
|
||||
|
||||
H --> I[Basic Exploitation]
|
||||
I --> J[Advanced Exploitation]
|
||||
|
||||
J --> K[Advanced Topics]
|
||||
K --> L[Research and Development]
|
||||
|
||||
%% Optional but recommended paths
|
||||
B --> M[Operating Systems]
|
||||
M --> N[System Programming]
|
||||
N --> H
|
||||
|
||||
%% Skill enhancement paths
|
||||
O[Scripting Languages] --> P[Automation]
|
||||
P --> K
|
||||
|
||||
%% Practice paths
|
||||
Q[CTF Challenges] --> R[Real-world Applications]
|
||||
G --> Q
|
||||
I --> Q
|
||||
```
|
||||
Reference in New Issue
Block a user