Skip to content
Security
Skill

/decompile

Decompile a function to C-like pseudocode using angr

From plugin
x64dbg-skills
2098 skills

Claude Code

$ npx -y skills add dariushoule/x64dbg-skills --skill decompile --agent claude-code

SKILL.md

decompile.SKILL.md
name: decompile
description: Decompile a function to C-like pseudocode using angr
allowed-tools: mcp__x64dbg__get_debugger_status, mcp__x64dbg__get_register, mcp__x64dbg__eval_expression, mcp__x64dbg__get_symbol, Bash, Read

decompile

Decompile a function from the debugged binary into C-like pseudocode using angr.

If no address is specified, decompiles the function containing the current instruction pointer. Accepts an address or symbol name as an argument.

Instructions

Follow these steps exactly:

1. Check prerequisites

Run `pip show angr` via Bash. If angr is not installed, tell the user:

> angr is not installed. Install it with `pip install angr` (requires Python >= 3.10). Note: angr is a large package (~500MB+).

Then stop.

2. Verify debugger connection

Call `mcp__x64dbg__get_debugger_status` to confirm the debugger is connected and paused. If not debugging, tell the user and stop.

3. Determine target function address

**If the user provided an address or symbol as an argument:**

  • If it looks like a hex address, use it directly
  • If it looks like a symbol name, resolve it via `mcp__x64dbg__eval_expression`

**If no argument was provided:**

  • Get the current instruction pointer via `mcp__x64dbg__get_register` (register `rip` for 64-bit, `eip` for 32-bit)
  • Use the current RIP/EIP value as the target address

Call this resolved value `target_addr`.

4. Resolve module path and compute RVA

Use `mcp__x64dbg__eval_expression` to evaluate:

  • `mod.path(target_addr)` — to get the on-disk path of the module containing the address
  • `mod.base(target_addr)` — to get the module's base address

Compute the RVA: `target_addr - module_base`

If `mod.path` fails, the address may not belong to a loaded module. Tell the user and stop.

5. Run the decompile script

Execute:

python "${CLAUDE_PLUGIN_ROOT}\skills\decompile\decompile.py" --binary "<module_path>" --address <rva_hex>

Where:

  • `<module_path>` is the on-disk path from step 4
  • `<rva_hex>` is the RVA in hex (e.g. `0x1060`)

The script may take 10-30 seconds for large binaries (CFG generation is the bottleneck). Use a timeout of at least 120 seconds.

6. Present results

The script outputs decompiled C pseudocode to stdout and status messages to stderr.

Present the decompiled code to the user in a ```c code block. If the script failed, relay the error message from stderr (e.g., function not found, decompilation failed) and suggest nearby functions if listed.

Read more
@dariushoule
Ships withx64dbg-skills

Claude Code plugin providing skills for x64dbg debugger automation.

Stars on GitHub

Momentum

stars in total
209
Star history of dariushoule/x64dbg-skills on GitHub, a chart by star-history.com

Other skills on x64dbg-skills.

find-oep

find-oep

Smart trace-based OEP finder for packed/protected PE executables. Traces through packer stubs using intelligent stepping,…

vuln-hunter

vuln-hunter

Hunt for vulnerabilities in a running debuggee by analyzing imports/exports, triaging attack surface, and iteratively testing for…

More skills from other plugins.

api-security

api-security

Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…

@zhaoxuya520@zhaoxuya520Install Skill
nemoclaw-user-guide

nemoclaw-user-guide

Find official NemoClaw documentation for installation, configuration, operation, or troubleshooting. Also handles requested docs…

nemoclaw12d23k
@nvidia@nvidiaInstall Skill

Questions about decompile.

Which coding agents can use decompile?
decompile installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.