/state-snapshot
Capture a full debuggee state snapshot (all committed memory regions + processor state) to disk for offline analysis
$ npx -y skills add dariushoule/x64dbg-skills --skill state-snapshot --agent claude-codeHow 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-snapshot
Context preview
The summary Claude sees to decide when to auto-load this skill.
Capture a full debuggee state snapshot (all committed memory regions + processor state) to disk for offline analysis
SKILL.md
state-snapshot.SKILL.mdname: state-snapshot
description: Capture a full debuggee state snapshot (all committed memory regions + processor state) to disk for offline analysis
allowed-tools: mcp__x64dbg__get_debugger_status, mcp__x64dbg__pause, mcp__x64dbg__disconnect, mcp__x64dbg__connect_to_session, mcp__x64dbg__go, Bash
state-snapshot
Capture a full debuggee state snapshot — all committed memory regions as raw binary files plus the complete processor state as JSON.
Instructions
Follow these steps exactly:
1. Verify debugger connection
Call `mcp__x64dbg__get_debugger_status` to confirm the debugger is connected and a debuggee is loaded. Note the **session PID** and **x64dbg path** from the current MCP connection — you will need these to reconnect later.
If no debuggee is loaded, tell the user and stop.
2. Pause the debuggee if running
If the debugger status shows the debuggee is running (not paused), call `mcp__x64dbg__pause` to pause it. Remember that you auto-paused so you can resume later.
3. Disconnect the MCP client
Call `mcp__x64dbg__disconnect` to release the ZMQ connection. This is **required** because only one client can be connected to an x64dbg session at a time, and the Python script needs its own connection.
4. Run the snapshot script
Execute the snapshot script:
python "${CLAUDE_PLUGIN_ROOT}\skills\state-snapshot\state_snapshot.py" --x64dbg-path "<x64dbg_path>" --pid <session_pid>Where:
- `<x64dbg_path>` is the path to the x64dbg executable noted in step 1
- `<session_pid>` is the debugger process PID noted in step 1
The script defaults output to `./snapshots/<timestamp>/`. If the user specified a custom output directory, pass `--output-dir <path>`.
5. Reconnect the MCP client
Call `mcp__x64dbg__connect_to_session` with the **x64dbg path** and **session PID** saved from step 1 to restore the MCP connection.
6. Report results
Summarize what was captured:
- Output directory path
- Number of memory region files saved and total size
- Whether registers were captured successfully
- Any regions that failed to read
Read more
name: state-snapshot description: Capture a full debuggee state snapshot (all committed memory regions + processor state) to disk for offline analysis allowed-tools: mcp__x64dbg__get_debugger_status, mcp__x64dbg__pause, mcp__x64dbg__disconnect, mcp__x64dbg__connect_to_session, mcp__x64dbg__go, Bash
state-snapshot
Capture a full debuggee state snapshot — all committed memory regions as raw binary files plus the complete processor state as JSON.
Instructions
Follow these steps exactly:
1. Verify debugger connection
Call `mcp__x64dbg__get_debugger_status` to confirm the debugger is connected and a debuggee is loaded. Note the **session PID** and **x64dbg path** from the current MCP connection — you will need these to reconnect later.
If no debuggee is loaded, tell the user and stop.
2. Pause the debuggee if running
If the debugger status shows the debuggee is running (not paused), call `mcp__x64dbg__pause` to pause it. Remember that you auto-paused so you can resume later.
3. Disconnect the MCP client
Call `mcp__x64dbg__disconnect` to release the ZMQ connection. This is **required** because only one client can be connected to an x64dbg session at a time, and the Python script needs its own connection.
4. Run the snapshot script
Execute the snapshot script:
python "${CLAUDE_PLUGIN_ROOT}\skills\state-snapshot\state_snapshot.py" --x64dbg-path "<x64dbg_path>" --pid <session_pid>Where:
- `<x64dbg_path>` is the path to the x64dbg executable noted in step 1
- `<session_pid>` is the debugger process PID noted in step 1
The script defaults output to `./snapshots/<timestamp>/`. If the user specified a custom output directory, pass `--output-dir <path>`.
5. Reconnect the MCP client
Call `mcp__x64dbg__connect_to_session` with the **x64dbg path** and **session PID** saved from step 1 to restore the MCP connection.
6. Report results
Summarize what was captured:
- Output directory path
- Number of memory region files saved and total size
- Whether registers were captured successfully
- Any regions that failed to read
Claude Code plugin providing skills for x64dbg debugger automation.
Other skills on x64dbg-skills.
- /decompile
Decompile a function to C-like pseudocode using angr
Open skill - /find-oep
Smart trace-based OEP finder for packed/protected PE executables. Traces through packer stubs using intelligent stepping, anti-debug evasion, and heuristic OEP detection, then captures a state snapshot at the original entry point.
Open skill - /shellcode-analyzer
Load, unpack, and analyze shellcode in x64dbg. Use this skill when the user wants to analyze shellcode, load a shellcode blob into a debugger, unpack encoded/encrypted shellcode, or perform static/dynamic analysis of shellcode payloads.
Open skill - /state-diff
Compare two state snapshots to identify register and memory changes between two points in time
Open skill - /tracealyzer
Trace execution (into or over calls) for N steps or until a condition, then analyze the recorded instruction log
Open skill - /vuln-hunter
Hunt for vulnerabilities in a running debuggee by analyzing imports/exports, triaging attack surface, and iteratively testing for bugs with PoC generation.
Open skill

