
Binary Diff Symbol Migration
Migrates function names from an old binary version to a new one using LLM comparison
- Repository
- zhaoxuya520/reverse-skill
- Stars
- 43,969
- Licence
- MIT
- Files
- 2 files
What it does
This skill teaches an AI agent how to move reverse-engineering labels (function names, global variable names, struct offsets) from an old version of a compiled program to a new version that has lost its symbols. The agent exports disassembly and pseudocode from both versions, asks an LLM to match functions using a fixed prompt template, and receives the matches as YAML that can be applied to the new version through IDA Pro tools. It also explains when to use this approach versus traditional diff tools like BinDiff or Diaphora.
Great for
- Reverse engineers who already named functions in an old build and need them in an updated build
- Researchers recovering symbols for a kernel or driver when newer debug symbols are unavailable
- Security analysts tracking where protected functions moved after a software update
Skip it if
- Starting a reverse-engineering project from scratch, since it assumes an existing labelled old version (use an IDA or radare2 skill instead)
- Comparing two unrelated binaries, where traditional tools or manual analysis are more suitable
- Use against software you are not authorised to analyse, since the skill itself says to first check an authorisation record it references but does not include
Try asking
- “Migrate the 200 named functions from my v1.0 build of this program to the v1.1 binary in IDA”
- “My ntoskrnl.exe PDB is missing for build 26100.2605; help me locate PspSetCreateProcessNotifyRoutine using the older symbols”
- “Build a batch workflow that sends each function pair to an LLM and collects YAML symbol mappings”
Install in 3 steps
- 1
Download the skill
The ZIP contains the 2 original files, the MIT licence and an attribution note.
binary-diff.zip - 2
Add it to your agent
Claude Code (all projects)
mkdir -p ~/.claude/skills && unzip binary-diff.zip -d ~/.claude/skills/Claude Code / Agent SDK (this project only)
mkdir -p .claude/skills && unzip binary-diff.zip -d .claude/skills/Claude apps (web/desktop): Settings → Capabilities → Skills → Upload skill, and choose the ZIP.
- 3
Ask for the task
No special command needed — the agent reads the skill's description and loads it when your request matches. Try one of the prompts above.
Get better results
- Start with exported functions or string references as anchors, since their names and strings are the most reliable matches, and migrate in small batches of one function per LLM call
- Review the YAML output before applying renames to the new IDB, because LLM matches can be wrong and cached results should be checked
- Note that the skill instructs the agent to read referenced files and proceed without confirmation; review those referenced files and keep a human in the loop for sensitive targets
What's inside
- references/prompt-template.md
- SKILL.md
Redistributed unmodified from zhaoxuya520/reverse-skill under the MIT licence. The assessment was drafted with AI from the skill's files on 2026-10-29. Skills can instruct your agent to run code — read SKILL.md and any scripts before installing.