rev-struct — скилл для Claude Code: восстановление структур из памяти
Разбирает обращения к памяти в декомпилированных функциях и собирает из них определение структуры с полями и смещениями.
npx skills add P4nda0s/reverse-skills --skill rev-struct -a claude-codeЧто делает rev-struct
Скилл берёт адрес функции, читает её декомпилированный код и выписывает все обращения по смещениям: прямые, через массив, вложенные указатели. Дальше он идёт по списку вызывающих и вызываемых функций и добирает оттуда то, чего в самой функции не видно — размер выделяемой памяти, инициализацию полей, передачу указателя дальше.
Собранные смещения сливаются и сортируются, размер структуры считается как максимальное смещение плюс размер последнего поля. Тип поля выводится по тому, как с ним обращаются: вызов через указатель даёт функцию-обработчик, передача в strlen или printf — строковый указатель, сравнение с константами — флаги. Таблица функций по нулевому смещению читается как vtable, пара next/prev — как узел списка.
Перед запуском нужно решить, откуда скилл возьмёт данные. Предпочтительный вариант — подключённый MCP-сервер IDA Pro, тогда запросы идут напрямую. Если MCP нет, в текущем каталоге должен лежать экспорт IDA-NO-MCP: папка decompile/ с файлами .c по одному на функцию, плюс strings.txt, imports.txt, exports.txt и дампы памяти. Без одного из двух способов скилл просто попросит выбрать вариант и остановится — это повод подготовить экспорт заранее, до того как сядете за разбор.
Какие задачи решает
- восстановить определение структуры по декомпилированному коду
- собрать смещения полей из нескольких связанных функций
- оценить размер структуры по вызовам
malloc - отличить функцию-обработчик от обычного поля
- найти vtable и указатели списка в объекте C++
Примеры запросов агенту
- восстанови структуру по функции 0x401000
- проанализируй обращения к памяти в sub_401000 и её вызывающих
- собери поля структуры из
decompile/0x401234.c
Как установить rev-struct
1Через Skills CLI (Vercel)
npx skills add P4nda0s/reverse-skills --skill rev-struct -a claude-code2Вручную: положить файлы
~/.claude/skills/rev-struct/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/rev-struct/
1Через Skills CLI (Vercel)
npx skills add P4nda0s/reverse-skills --skill rev-struct -a codex2Вручную: положить файлы
.agents/skills/rev-struct/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add P4nda0s/reverse-skills --skill rev-struct -a cursor2Вручную: положить файлы
.cursor/skills/rev-struct/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install P4nda0s/reverse-skills rev-struct2Вручную: положить файлы
.github/skills/rev-struct/SKILL.md1Через Skills CLI (Vercel)
npx skills add P4nda0s/reverse-skills --skill rev-struct -a gemini-cli2Командой платформы
gemini skills install https://github.com/P4nda0s/reverse-skills --path skills/rev-structВручную: положить файлы
.devin/skills/rev-struct/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add P4nda0s/reverse-skills --skill rev-struct -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора7
Похожие
Рядом в теме «Безопасность»
Всё по теме «Безопасность» →Вопросы о rev-struct
Как установить rev-struct в Claude?
Выполните npx skills add P4nda0s/reverse-skills --skill rev-struct -a claude-code. Скилл окажется в ~/.claude/skills/rev-struct/SKILL.md.
Что делает rev-struct?
Читает декомпилированные функции, собирает обращения по смещениям и выдаёт черновик определения структуры с типами полей и оценкой размера.
Что нужно, чтобы скилл заработал?
Либо подключённый MCP-сервер IDA Pro, либо экспорт IDA-NO-MCP в текущем каталоге: папка decompile/ с файлами .c и таблицы строк, импортов и экспортов.