guyinatuxedo/nightmare

Nightmare is an introductory course on binary exploitation and reverse engineering structured around capture-the-flag challenges.

View on GitHub ↗Jump to charts ↓

guyinatuxedo/nightmare has 3k+ stars and 450+ forks on GitHub, is written in Python, and was last pushed on Feb 8, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 54 minutes ago
Added to GitGenius on September 21st, 2026
Created on May 31st, 2019
Open Issues & Pull Requests: 3 (+0)
GitHub issues: Enabled
Number of forks: 465
Total Stargazers: 3,252 (+0)
Total Subscribers: 58 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 461.1 days
Mean response time: 579.2 days
90th percentile: 1483.0 days
Tracked items: 13

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Nightmare is an introductory course on binary exploitation and reverse engineering structured around capture-the-flag challenges.

The course addresses the problem that learning binary exploitation skills is difficult because resources often lack clear guidance on what to learn and in what order. Nightmare solves this by providing a structured curriculum that progresses from foundational concepts through increasingly complex exploitation techniques. The approach combines explanations of core concepts like assembly, tooling, and memory vulnerabilities with hands-on challenges drawn from real CTF competitions. Topics range from basic reverse engineering and buffer overflows to advanced techniques like return-oriented programming, format string exploits, and constraint solving with tools like Z3 and Angr.

The course suits developers and security practitioners who want a guided path into binary exploitation rather than scattered tutorials. It works well for those learning assembly, debugging with gdb-gef, and understanding memory safety vulnerabilities in sequence. The material assumes no prior exploitation knowledge and builds systematically through stack-based vulnerabilities, general exploitation techniques, and advanced methods. A static site version is available alongside the GitHub repository for those who prefer that presentation format.

The project maintains an active Discord community where learners can ask questions and report errors. The course content is substantial enough that the maintainer acknowledges typos are likely present and encourages community members to flag them.