MCPInstall

learn-reverse-engineering

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.

Installs
570
Last 24h
+80
Trending rank
#2296
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/rohitg00/ai-engineering-from-scratch --skill learn-reverse-engineering
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads learn-reverse-engineering automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

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.

HostStart or resume
Codexlearn-reverse-engineering, or choose it from /skills
Claude Code/learn-reverse-engineering
Other compatible hostsUse 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:

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:

  1. python3 --version reports 3.10 or later.
  2. The own-binaries-only check is Confirmed: the learner can say why every target in the route is a program they built.
  3. Whether clang is on the path. It is optional. Without it, Lesson 36 reads the committed objects and reports its behaviour claims as unknown.

If Python is unavailable, give the website or docs/en.md path and continue conceptually. Mark lab observations as Pending. Never describe that fallback as a lab pass.

Locate or create progress

Use REVERSE-ENGINEERING-LEARNING.md in the current working directory.

If it exists, preserve learner notes and evidence. Resume the first row whose status is Next or In progress. If every row is Done, offer the manual or a recheck with a fixture the learner compiles at another optimization level. Do not restart the route.

If it does not exist, create it without an interview:

# My Reverse Engineering Path
<!-- Managed by the learn-reverse-engineering tutor.
     Source: learning-paths/reverse-engineering.json -->

## Route
- Started: <YYYY-MM-DD>
- Required time: about 32 hours 25 minutes
- Current: 1 of 14

## Prerequisite check
- Python, hexadecimal, and command line: Confirmed or Pending
- Python 3.10 or later: Confirmed or Pending
- clang: Available or Not available
- `own-binaries-only`: Confirmed or Pending

## Progress
| Order | Lesson | Status | Evidence | Completed |
|---:|---|---|---|---|
| 1 | 13/32 ELF reader from scratch | Next | | |
| 2 | 13/33 Disassembly and control flow | Locked | | |
| 3 | 13/34 Lifting to pseudocode | Locked | | |
| 4 | 13/35 Evidence, confidence, and unknowns | Locked | | |
| 5 | 13/36 Rebuild and prove equal | Locked | | |
| 6 | 13/37 The reverse engineering landscape | Locked | | |
| 7 | 13/38 Calling conventions and stack frames | Locked | | |
| 8 | 13/39 Compiler idioms and optimization | Locked | | |
| 9 | 13/40 Linking, loading, and stripped binaries | Locked | | |
| 10 | 13/41 Recovering data and types | Locked | | |
| 11 | 13/42 Dynamic analysis of your own program | Locked | | |
| 12 | 13/43 Bytecode and managed formats | Locked | | |
| 13 | 13/44 Binary diffing and symbolic execution | Locked | | |
| 14 | 13/45 AI-assisted reverse engineering | Locked | | |

## Notes

Check the commands that can be checked locally. Keep Lesson 32 Locked until own-binaries-only is Confirmed. Never mark a prerequisite complete by assumption.

Teach one lesson

  1. Set the selected row to In progress.
  2. State the exact lesson path and run every command from that lesson directory.
  3. Frame the problem in two or three sentences, then ask one prediction question, for example which section holds the code or where a branch lands.
  4. Work through the lesson's Build It and Use It material in small chunks.
  5. Run the real lab when files and Python are available. If not, trace a small example by hand and record the lab as pending.
  6. Require the manifest's checkpoint evidence. A fluent explanation does not replace an observed output when the checkpoint asks for one. Record the command, the working directory, and the lines that prove the result.
  7. Ask quiz questions one at a time. Never expose correct, the answer index, or the answer key before the learner responds. Use Reply with one letter: <A|B|C|D>.
  8. Mark the row Done only after the checkpoint and quiz are complete. Record a compact evidence note, the date, and unlock the next row.

Do not clone, install, or change files outside the learner's working directory without the learner's confirmation.

Lesson checkpoints

  • 13/32: parse an ELF64 and a Mach-O fixture, and match the section, symbol, and relocation output against the recorded reference.
  • 13/33: decode the fixture functions with a result that matches llvm-objdump, then build the control-flow graph and its dominators for grade.
  • 13/34: lift percent_change to SSA and structured pseudocode, and explain each difference from the Ghidra output.
  • 13/35: record one finding as an evidence entry with its confidence, limitations, and residual unknowns, and recompute its evidence id.
  • 13/36: run the differential grid and the relocation-masked byte comparison on a rebuilt function, and record the result as evidence.
  • 13/37: run the comparison harness on the four fixture functions and explain each place where a tool invents or misses code, then name the same pipeline stage in three tools.
  • 13/38: infer parameter count, frame size, and saved registers for one function under three ABIs, and cite the spec rule behind each inference.
  • 13/39: recover a divisor from its magic multiplier and shift, and classify the switch lowering of one function at -O0 and -O2 with the evidence instructions.
  • 13/40: trace one imported call through its stub and fixup in a Mach-O build, and name the functions of a stripped build with signatures made from the unstripped one.
  • 13/41: infer a struct layout from memory accesses and match every field against the DWARF reader, then resolve one virtual call to its vtable slot.
  • 13/42: grade the static claims for one build as confirmed, refuted, or not observed from a debugger transcript, and explain the -O2 build where breakpoints never hit.
  • 13/43: parse the same function from a .pyc, a class file, and a Wasm module, match each listing against the reference tool, and list what each container keeps.
  • 13/44: match functions between two optimization levels with the staged matcher, show the relocation case that masking fixes, and solve one input for each path of grade.
  • 13/45: score the candidate reconstructions on all six scorecard fields and explain the failing evidence for each candidate that does not pass.

Close

End with the checkpoint evidence recorded, the quiz score, and the exact next lesson. Keep the learner on this route unless they ask to leave it.

FAQ

What does the learn-reverse-engineering skill do?

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.

How do I install learn-reverse-engineering?

Run npx skills add https://github.com/rohitg00/ai-engineering-from-scratch --skill learn-reverse-engineering in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/learn-reverse-engineering/ (personal) or .claude/skills/learn-reverse-engineering/ (project).

Which AI agents can use learn-reverse-engineering?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is learn-reverse-engineering safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains learn-reverse-engineering?

It is published by rohitg00 in rohitg00/ai-engineering-from-scratch. It has 570 recorded installs.

More from rohitg00/ai-engineering-from-scratch

View all →

start-learning

rohitg00/ai-engineering-from-scratch

One-time onboarding for the AI Engineering from Scratch curriculum (523 lessons, 20 phases). Interviews the learner, runs the placement quiz, and writes LEARNING.md, a persistent study plan the learn skill drives. Trigger phrases: "start learning", "set up the course", "begin the curriculum", "onboard me", "create my learning plan"

Education & Science4.7K installs

check-understanding

rohitg00/ai-engineering-from-scratch

Phase quiz for AI Engineering from Scratch. Trigger with "quiz me", "test phase", "check my understanding", "do I know phase 3", or /check-understanding .

Testing & QA4.6K installs

find-your-level

rohitg00/ai-engineering-from-scratch

Interactive quiz that maps your AI/ML knowledge to a starting point in the 523-lesson, 20-phase AI Engineering from Scratch curriculum. Trigger phrases: "where should I start", "find my level", "what do I know", "which phase", "assess my knowledge", "placement test", "skip ahead"

Testing & QA4.6K installs

learn

rohitg00/ai-engineering-from-scratch

Interactive lesson tutor for the AI Engineering from Scratch curriculum. Reads LEARNING.md, fetches the next lesson, teaches it section by section in the terminal, quizzes at the end, and records progress. Works cloned or entirely over raw.githubusercontent.com — no setup required. Trigger phrases: "next lesson", "teach me", "continue the course", "let's learn", "resume learning"

Education & Science4.3K installs

course-guide

rohitg00/ai-engineering-from-scratch

Topic router for the AI Engineering from Scratch curriculum. Give it a topic, a question, or a bug you are fighting, and it points at the exact lessons that teach it, plus the right next command. Trigger phrases: "where do I learn", "which lesson covers", "course guide", "I'm stuck on", "what should I do next", "teach me MCP", "teach me Agent Skills", "where do I prepare for a Claude certification"

Education & Science4.3K installs

claude-certification

rohitg00/ai-engineering-from-scratch

AI-native tutor and onboarding workflow for the four independent Claude certification tracks in AI Engineering from Scratch. Use when a learner wants to choose a Claude certification, prepare for CCAO-F, CCDV-F, CCAR-F, or CCAR-P, resume a certification path, learn the next lesson interactively, run and verify practical labs, build scored artifacts, take a diagnostic or mock exam, or remediate weak exam domains from GitHub with Claude Code, Codex, ChatGPT, Cursor, or another agent.

Education & Science3.5K installs

Popular education & science skills

View category →

teach

mattpocock/skills

Teach the user a new skill or concept, within this workspace.

Education & Science874K installs

scaffold-exercises

mattpocock/skills

Create exercise directory structures with sections, problems, solutions, and explainers that pass linting. Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.

Education & Science488.2K installs

paper-context-resolver

lllllllama/rigorpilot-skills

Rigor Paper Context helper for README-first deep learning repo reproduction. Use only when the README and repository files leave a narrow reproduction-critical gap and the task is to resolve a specific paper detail such as dataset split, preprocessing, evaluation protocol, checkpoint mapping, or runtime assumption from primary paper sources while recording conflicts. Do not use for general paper summary, repo scanning, environment setup, command execution, title-only paper lookup, or replacing README guidance by default.

Education & Science478.3K installs

caveman-learn

juliusbrussee/caveman

Act on a Caveman learn report - review the ranked token sinks, apply cost-lowering fixes with per-edit consent, and report what those fixes returned. Use when asked to lower an agent's token cost, what caveman has saved, to trim a heavy CLAUDE.md, or to offload re-pasted context into cavemem.

Education & Science107.9K installs

gsap-plugins

greensock/gsap-skills

Official GSAP skill for GSAP plugins — registration, ScrollToPlugin, ScrollSmoother, Flip, Draggable, Inertia, Observer, SplitText, ScrambleText, SVG and physics plugins, CustomEase, EasePack, CustomWiggle, CustomBounce, GSDevTools. Use when the user asks about a GSAP plugin, scroll-to, flip animations, draggable, SVG drawing, or plugin registration.

Education & Science67.9K installs

teach-impeccable

pbakaus/impeccable

DEPRECATED: Use /impeccable teach instead. This command has been folded into the impeccable skill.