AIKraft/Skills/vm-and-bytecode-reverse

vm-and-bytecode-reverse

Плейбук для реверс-инжиниринга кастомных виртуальных машин и байт-кода. Применяется в CTF-задачах или при анализе защищенного ПО с проприетарным байт-кодом, диспетчерскими циклами или лабиринтообразными структурами.

yaklang official Другое ★ 2.4k

Что делает навык

Набор экспертных техник для реверс-инжиниринга кастомных виртуальных машин и интерпретаторов байт-кода, включающий идентификацию диспетчера, маппинг опкодов и реконструкцию ISA. Позволяет избежать типичной ошибки базовых моделей — анализа байт-кода как нативного кода, и помогает распознать паттерн fetch-decode-execute.

Когда применять

  • Решение CTF-задач, связанных с кастомными виртуальными машинами или лабиринтообразными структурами (maze challenges).
  • Анализ защищенного ПО с проприетарным байт-кодом и диспетчерскими циклами.
  • Написание кастомных дизассемблеров и декompilerов для реконструкции пользовательской архитектуры инструкций (ISA).
  • Анализ реальных VM-протекторов, когда требуется определить тип защиты.

Как работает

  1. Идентифицировать паттерн fetch-decode-execute и определить структуру диспетчера (dispatcher) в коде.
  2. Выполнить маппинг опкодов и реконструировать пользовательскую архитектуру инструкций (custom ISA).
  3. Написать кастомный дизассемблер или декompiler для корректной интерпретации байт-кода.
  4. Применить специализированные техники для анализа лабиринтообразных структур (maze challenges) или сложных диспетчерских циклов.
  5. При необходимости использовать маршрутизацию к смежным навыкам (например, symbolic-execution-tools для angr или anti-debugging-techniques).

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

Проанализируй этот бинарник на наличие кастомной виртуальной машины и реконструируй её ISA.
Напиши дизассемблер для данного байт-кода, используя технику идентификации диспетчера.
Реши CTF-задачу с лабиринтообразной структурой VM, применяя экспертные техники реверс-инжиниринга.

Описание составлено по SKILL.md навыка, сверено 07.10.2026.

Как подключить

1Скачать навык
# возьмите папку навыка «vm-and-bytecode-reverse» из репозитория: # https://github.com/yaklang/hack-skills
2Положить папку с SKILL.md к навыкам ассистента
# положите папку навыка туда, где ассистент ищет skills: cp -r vm-and-bytecode-reverse/ ~/.claude/skills/vm-and-bytecode-reverse/

Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.