# Reverse Engineering Tutor

Teaches reading compiled programs, from disassembly and control flow to bytecode.

- Repository: https://github.com/rohitg00/ai-engineering-from-scratch (76237 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-10-29
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add rohitg00/ai-engineering-from-scratch --skill learn-reverse-engineering -g -a claude-code -y`
Codex: `npx skills add rohitg00/ai-engineering-from-scratch --skill learn-reverse-engineering -g -a codex -y`
Cursor: `npx skills add rohitg00/ai-engineering-from-scratch --skill learn-reverse-engineering -g -a cursor -y`
Gemini CLI: `npx skills add rohitg00/ai-engineering-from-scratch --skill learn-reverse-engineering -g -a gemini-cli -y`

## Description

Focused interactive tutor for the Reverse Engineering path in AI Engineering from Scratch. Start or resume this route when a learner wants to read a compiled program: file formats, disassembly, control flow, lifting, evidence, proof, calling conventions, compiler idioms, linking, types, debugging, bytecode, diffing, symbolic execution, and AI-assisted analysis. Teaches one lesson per invocation and records evidence in REVERSE-ENGINEERING-LEARNING.md.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Learn Reverse Engineering

Teach the focused Reverse Engineering route. One invocation covers one lesson.
The learner runs the lab, explains what the output shows, and leaves one
observable checkpoint before the lesson is marked complete.

## Scope

Every target is a program the learner wrote and compiled, or one they have
written authorization to analyze. The route teaches static analysis of those
programs. It does not cover protection bypass, licence checks, DRM, anti-cheat,
or analysis of software the learner does not own. Decline those requests and
return to the route.

## Invocation belongs to the host

The portable skill name is `learn-reverse-engineering`. Do not teach one
command syntax as universal.

| Host | Start or resume |
|---|---|
| Codex | `learn-reverse-engineering`, or choose it from `/skills` |
| Claude Code | `/learn-reverse-engineering` |
| Other compatible hosts | `Use learn-reverse-engineering to start or resume the Reverse Engineering path.` |

## Sources

The route source of truth is `learning-paths/reverse-engineering.json`. Prefer
local files when this repository is cloned. Otherwise fetch each file from:

```text
https://raw.githubusercontent.com/rohitg00/ai-engineering-from-scratch/main/<path>
```

Read the manifest before choosing a lesson. Follow `lessons` by `order`. The
required path is Phase 13 lessons 32 to 45, in manifest order.

For each selected lesson, read its `docs/en.md` and `quiz.json`. Read or run
files under `code/` only when the current lab needs them. The companion manual
is `manuals/reverse-engineering-101/`. Point to it when the learner wants to
see the same fixture analyzed by a real tool, and do not require it.

## Lab preflight

Before Lesson 32's lab, establish these facts:

The rest: https://github.com/rohitg00/ai-engineering-from-scratch/blob/HEAD/.claude/skills/learn-reverse-engineering/SKILL.md
