Override is an advanced binary exploitation project designed to deepen your understanding of:
- Reverse engineering compiled binaries to understand their behavior
- ELF Binary Analysis - Understanding executable formats and memory layouts
- Vulnerability Identification - Recognizing common programming flaws in compiled binaries
- Exploitation Techniques - Developing and executing attacks against protected binaries
- Security Awareness - Learning how malpractices lead to exploitable vulnerabilities
| Level | Vulnerability Type | Difficulty | Key Concepts |
|---|---|---|---|
| Level 00 | Basic reverse engineering | ⭐ | Function calls, strings |
| Level 01 | Stack buffer overflow | ⭐⭐ | ROP, return address hijacking |
| Level 02 | Format string vulnerability | ⭐⭐ | Stack leaking, format specifiers |
| Level 03 | Weak XOR encryption | ⭐⭐ | Cryptanalysis, known plaintext |
| Level 04 | Stack buffer overflow | ⭐⭐ | Code injection |
| Level 05 | Shellcode injection | ⭐⭐⭐ | Assembly, syscalls |
| Level 06 | bypass auth | ⭐⭐⭐ | reverse engineering |
| Level 07 | Integer overflow & array bounds | ⭐⭐⭐ | Arithmetic vulnerabilities |
| Level 08 | Logic vulnerabilities | ⭐⭐ | Program flow |
| Level 09 | Multi-stage buffer overflow | ⭐⭐⭐ | Complex ROP, size-controlled overflow |
- GDB - GNU Debugger for dynamic analysis
- objdump - Binary disassembly and analysis
- strings - Extract printable strings from binaries
- file - Identify binary type and properties
- Ghidra - Advanced reverse engineering framework (NSA)
- Buffer Overflows - Stack and heap overflow attacks
- Format String Vulnerabilities - Information disclosure and memory manipulation
- Integer Arithmetic Vulnerabilities - Overflow and underflow attacks
- Return-Oriented Programming (ROP) - Code reuse attacks
- ASLR & PIE - Address space layout randomization and bypassing protections
- Static Analysis - Using tools like objdump, and Ghidra
- Dynamic Analysis - Debugging with GDB to trace execution flow
- Code Decompilation - Understanding pseudo-C from disassembly
- Memory Forensics - Analyzing stack/heap layouts and data structures
- Unsafe Functions - strcpy, sprintf, gets without bounds checking
- Weak Validation - Insufficient input validation and sanitization
- Type Confusion - Integer size and signedness issues
- Weak Cryptography - XOR ciphers and predictable algorithms
- pwn.college - Interactive exploitation labs
- CtfTime - Capture-the-flag competitions
- Exploit-DB - Real-world exploits
Remember: The goal is not just to exploit, but to understand the underlying vulnerabilities and learn how to prevent them in your own code.
