К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

learn-reverse-engineering — скилл для Claude Code: статический анализ

Интерактивный учебник по чтению скомпилированных программ. Проходит один урок за вызов: от формата файла и дизассемблирования до символьного исполнения и AI-анализа. Нужны Python 3.10+ и собственный исходный код.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add rohitg00/ai-engineering-from-scratch --skill learn-reverse-engineering -a claude-code
Открыть на GitHub

Что делает learn-reverse-engineering

Скилл учит статическому анализу программ, которые вы написали и скомпилировали. На каждом уроке вы разбираете конкретный фрагмент — от парсинга ELF и Mach-O до восстановления типов данных, вывода соглашений о вызовах и поиска оптимизаций компилятора. Каждый урок требует работающей лаборатории: вы запускаете команды, объясняете результат, оставляете видимую контрольную точку, отвечаете на викторину.

Маршрут состоит из 14 обязательных уроков (32–45 из курса AI Engineering from Scratch), около 32 часов. Скилл хранит прогресс в REVERSE-ENGINEERING-LEARNING.md — можно остановиться и возобновить. Требует Python 3.10 или позже. Опционально использует clang для некоторых лабораторий; без него результаты помечаются как неподтверждённые, но обучение продолжается.

Открывает доступ только к программам, которые вы сами написали. Статический анализ защищённых или чужих бинарников — вне области скилла.

Какие задачи решает

  • разобраться в структуре скомпилированного бинарника
  • научиться читать дизассемблированный код и строить граф управления
  • восстанавливать типы данных и соглашения о вызовах из бинарника
  • сравнивать разные версии одной программы и искать изменения
  • применять символьное исполнение и AI для анализа алгоритмов

Примеры запросов агенту

  • Начните маршрут: `/learn-reverse-engineering`
  • Возобновите урок после перерыва: `/learn-reverse-engineering`
  • Перейдите на следующий урок после прохождения текущего: `/learn-reverse-engineering`

Как установить learn-reverse-engineering

1Через Skills CLI (Vercel)

npx skills add rohitg00/ai-engineering-from-scratch --skill learn-reverse-engineering -a claude-code

2Вручную: положить файлы

~/.claude/skills/learn-reverse-engineering/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/learn-reverse-engineering/

Из того же набора13

Весь набор →
find-your-level rohitg00 Скилл проводит тест по AI/ML из 10 вопросов и говорит, с какой фазы начинать курс AI Engineering from Scratch. Claude Code CX Codex Cursor +1 4 500установок start-learning rohitg00 Он проводит вводный опрос и placement quiz для курса AI Engineering from Scratch, а затем создаёт LEARNING.md с планом обучения. Claude Code CX Codex Cursor +1 4 500установок learn rohitg00 Ведёт по курсу AI Engineering from Scratch: достаёт следующий урок, объясняет его по разделам в терминале, задаёт вопросы в конце и записывает прогресс. Claude Code CX Codex Cursor +1 4 200установок course-guide rohitg00 Скилл находит уроки курса AI Engineering from Scratch по теме, вопросу или ошибке и предлагает следующий шаг. Пригодится, когда нужно понять, что изучать дальше. Claude Code CX Codex Cursor +1 4 100установок claude-certification rohitg00 Ведёт по одному из четырёх треков сертификации Claude: объясняет урок, гоняет практику и проверяет артефакты. Пригодится, если готовитесь к экзамену и хотите учиться, а не читать список ссылок. Claude Code CX Codex Cursor +1 3 300установок learn-mcp rohitg00 Интерактивно обучает Model Context Protocol: разбирает клиентов, серверы, транспорт и безопасность. Подходит для пошагового изучения MCP. Claude Code CX Codex Cursor +1 2 700установок mcpa-certification rohitg00 Интерактивный тьютор для подготовки к сертификации MCPA. Разбирает протокол MCP, запускает проверочные тесты и ведёт прогресс по главам в локальном файле. Claude Code CX Codex Cursor +1 1 500установок build-project rohitg00 Скилл обучает разработке AI-проектов по шагам курса AI Engineering from Scratch. Помогает писать код через подсказки, запускает тесты и сохраняет прогресс. Claude Code CX Codex Cursor +1 1 200установок

Похожие

spark-engineer https://github.com/Jeffallan Пишет PySpark-джобы и разбирает их тормоза: DataFrame, Spark SQL, перекос ключей, стриминг. Пригодится, когда джоб упирается в шуфл или падает по памяти. Claude Code CX Codex Cursor +1 3 800установок context-compression sickn33 Скилл управляет сжатием контекста в длинных сессиях агента, когда разговор превышает лимит токенов. Вместо наивного удаления текста сохраняет структурированные резюме с файлами, решениями и состоянием. Claude Code CX Codex Cursor +1 1 400установок azure-text-to-speech calesthio Генерирует закадровую озвучку через Azure AI Speech REST API. Помогает озвучивать видео в OpenMontage качественными нейросетевыми голосами. Claude Code CX Codex Cursor +1 589установок tavily-best-practices tavily-ai Скилл даёт агенту справку по интеграции Tavily для поиска, извлечения контента, обхода сайтов и исследований. Нужен при добавлении веб-данных в агентный сценарий или RAG. Claude Code CX Codex Cursor +1 20 600установок arize-prompt-optimization официальный arize Скилл анализирует промпты по данным production-трейсов, оценок и аннотаций. Подойдёт, когда нужно улучшить ответы модели или отладить system prompt. GitHub Copilot 1 100установок arize-instrumentation официальный arize Скилл помогает добавить трассировку Arize AX в приложение с LLM. Сначала агент анализирует проект, затем предлагает изменения и ждёт подтверждения. GitHub Copilot 1 100установок skill-creator официальный anthropics Помогает создать новый скилл, доработать существующий и проверить результат через тестовые промпты и оценки. Claude Code Claude.ai 414 180установок writing-for-agents Matt Pocock Помогает писать скиллы и документы с инструкциями для агентов. Пригодится при правках AGENTS.md, CLAUDE.md и связанных справочных файлов. Claude Code 466 719установок

Вопросы о learn-reverse-engineering

Как установить learn-reverse-engineering в Claude Code?

Выполните npx skills add rohitg00/ai-engineering-from-scratch --skill learn-reverse-engineering -a claude-code, затем npx skills add rohitg00/ai-engineering-from-scratch --skill learn-reverse-engineering -a claude-code, далее откройте ~/.claude/skills/learn-reverse-engineering/SKILL.md.

Что нужно для работы скилла?

Python 3.10 или позже, доступ к командной строке и исходный код программ, которые вы написали. Опционально clang для некоторых лабораторий.

Можно ли анализировать программы, которые я не писал?

Нет. Скилл работает только с бинарниками, авторизованными вами — программами, которые вы сами написали и скомпилировали.

Исходный текст

SKILL.md · MIT
---
name: learn-reverse-engineering
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.
---

# 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:

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:

```markdown
# 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.

© rohitg00 · MIT · rohitg00/ai-engineering-from-scratch

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой