https://github.com/dnakov/aor-2024
Advent of Radare2 2024 Solutions - Complete educational solutions for all 25 days
https://github.com/dnakov/aor-2024
Last synced: about 1 year ago
JSON representation
Advent of Radare2 2024 Solutions - Complete educational solutions for all 25 days
- Host: GitHub
- URL: https://github.com/dnakov/aor-2024
- Owner: dnakov
- Created: 2025-06-15T17:47:40.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-06-15T17:47:41.000Z (about 1 year ago)
- Last Synced: 2025-06-19T04:53:13.190Z (about 1 year ago)
- Language: Python
- Size: 136 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Advent of Radare2 2024 Solutions
This repository contains solutions for the Advent of Radare2 2024 (AOR24) challenges.
## About AOR24
Advent of Radare2 is a community challenge created by pancake from r2land, featuring 25 daily challenges throughout December to help learn and master the radare2 reverse engineering framework.
## Project Structure
```
advent-radare2024/
├── challenges/ # Individual challenge directories (01-25)
│ ├── 01/ # Day 1: Identifying architecture
│ ├── 02/ # Day 2: Breaking into main function
│ └── ... # Days 3-25
├── scripts/ # Utility scripts for common r2 operations
├── docs/ # Additional documentation and notes
└── challenges.md # Full list of challenges
```
## Getting Started
### Prerequisites
- radare2 (latest version recommended)
- Python 3.x (for automation scripts)
- Basic knowledge of assembly and reverse engineering
### Installation
1. Install radare2:
```bash
git clone https://github.com/radareorg/radare2
cd radare2
sys/install.sh
```
2. Clone this repository:
```bash
git clone [your-repo-url]
cd advent-radare2024
```
## Challenge Progress
- [ ] Day 01: Identifying architecture
- [ ] Day 02: Breaking into main function
- [ ] Day 03: Finding all functions
- [ ] Day 04: Searching strings
- [ ] Day 05: Hexadecimal dumps
- [ ] Day 06: Finding references
- [ ] Day 07: Symbolicating
- [ ] Day 08: SVD Files
- [ ] Day 09: ARM Analysis
- [ ] Day 10: Got Root?
- [ ] Day 11: Binlimp
- [ ] Day 12: Emulation with ESIL
- [ ] Day 13: Moving around
- [ ] Day 14: Custom settings
- [ ] Day 15: Diffing code
- [ ] Day 16: Reversing with AI
- [ ] Day 17: Breakpoints and registers
- [ ] Day 18: Hello Papi
- [ ] Day 19: Function bytes
- [ ] Day 20: Welcome Contributors
- [ ] Day 21: Diffing for Coins
- [ ] Day 22: Parsing Headers
- [ ] Day 23: Memory Layouts
- [ ] Day 24: Tracing Functions
- [ ] Day 25: Merry Xrefmas
## Useful radare2 Commands
```bash
# Basic analysis
r2 -A binary # Analyze all
r2 -AA binary # Analyze all (experimental)
# Common commands
aaa # Analyze all
afl # List functions
pdf @ main # Disassemble function
iz # List strings
axt @ sym.func # Find references to function
```
## Resources
- [Official AOR24 Website](https://rada.re/advent/)
- [radare2 Documentation](https://book.rada.re/)
- [radare2 GitHub](https://github.com/radareorg/radare2)
- Hashtag: #aor24
## Contributing
Feel free to share your solutions and discuss challenges using the #aor24 hashtag!