Skip to content
Security
Skill

/state-diff

Compare two state snapshots to identify register and memory changes between two points in time

From plugin
x64dbg-skills
1968 skills
Install
$ npx -y skills add dariushoule/x64dbg-skills --skill state-diff --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/state-diff

Context preview

The summary Claude sees to decide when to auto-load this skill.

Compare two state snapshots to identify register and memory changes between two points in time

SKILL.md

state-diff.SKILL.md
name: state-diff
description: Compare two state snapshots to identify register and memory changes between two points in time
allowed-tools: Bash, Read

state-diff

Compare two debuggee state snapshots and produce a detailed change analysis — which registers changed, which memory regions were modified, and what the changes mean.

Instructions

Follow these steps exactly:

1. Identify snapshots

List the available snapshots:

dir "${CLAUDE_PLUGIN_ROOT}\snapshots"

If there are fewer than two snapshots, tell the user they need at least two snapshots (captured via `/state-snapshot`) and stop.

If the user specified two snapshot paths, use those directly. Otherwise, present the available snapshots and ask the user to pick the **before** (earlier) and **after** (later) snapshots.

2. Run the diff script

Execute the diff engine:

python "${CLAUDE_PLUGIN_ROOT}\skills\state-diff\state_diff.py" --before <before_snapshot_dir> --after <after_snapshot_dir>

The script writes `diff_report.json` into the after-snapshot directory by default. If the user specified a custom output path, pass `--output <path>`.

3. Read the report

Use `Read` to load the generated `diff_report.json`.

4. Analyze and reason

Interpret the diff report for the user:

  • **Register changes**: Explain what each changed register suggests. For example:
  • RIP/EIP advanced → instructions were executed
  • RSP/ESP changed → stack grew or shrank (function calls, local variables)
  • RAX/EAX changed → likely a return value or computation result
  • Flag changes → comparison or arithmetic results
  • **Memory changes**: Explain what modified regions likely represent:
  • Stack region modifications → local variables written, function arguments pushed
  • Heap regions → dynamic allocations or object mutations
  • Image/module regions → self-modifying code or relocations
  • Look at the actual byte patterns for clues (string data, pointers, counters)
  • **Synthesize a narrative**: Combine register and memory observations into a coherent explanation of what the program did between the two snapshots. For example: "The program called function X, which allocated Y bytes on the stack and wrote a string to a heap buffer."

Present the analysis in a clear, structured format with the raw evidence (hex values, addresses) supporting each conclusion.

Read more
Ships withx64dbg-skills

Claude Code plugin providing skills for x64dbg debugger automation.

Get the whole plugin
Stats
196
Stars
17
Forks
Maintained
Maintenance
Python
Language
MIT
License
4mo ago
Last commit
5mo ago
Created

Repo: dariushoule/x64dbg-skills