radareorg/radare2-skills/decompiler

Claude Code and agent skill by radareorg/radare2-skills

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Get pseudocode for radare2 functions via r2xsql. Use when asked for a higher-level view of a function than raw disassembly. Runtime-gated by an installed decompiler plugin (r2ghidra / r2dec / built-in pdc).

Install

npx vskill@latest install radareorg/radare2-skills/decompiler

SKILL.md

When to use

Pick this skill when the user wants readable pseudocode for a function (or wants to grep across pseudocode for many functions). For raw assembly use the disassembly skill.

Runtime gating

The pseudocode table is only registered if a decompiler is available. At session bootstrap r2xsql probes in this order:

probeprovided byr2xsql command
pdg?r2ghidra (recommended)pdg @ <addr>
pdd?r2decpdd @ <addr>
pdc?r2 built-inpdc @ <addr>

The first probe that succeeds wins. The pseudocode table is registered only when a decompiler is detected, so check for it:

sql
SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'pseudocode';
-- one row ⇒ a decompiler is available; empty ⇒ none installed

If no decompiler is installed, SELECT … FROM pseudocode returns no such table: pseudocode. Install r2ghidra via:

bash
r2pm -ci r2ghidra

Tables

tablecolumns
pseudocodefunc_addr, text

Always filter by func_addr — decompiling every function in a binary on demand is prohibitively slow. The table uses filter_eq pushdown on func_addr, so a single-function query is one r2 command, not a full enumeration.

Common queries

sql
-- pseudocode for one function
SELECT text FROM pseudocode WHERE func_addr = 0x401000;
-- pseudocode for every function whose name starts with 'aes_'
SELECT f.name, p.text
FROM funcs f
JOIN pseudocode p ON p.func_addr = f.addr
WHERE f.name LIKE 'aes_%';
-- grep for a literal across all decompiled functions (expensive!)
SELECT f.name, f.addr
FROM funcs f JOIN pseudocode p ON p.func_addr = f.addr
WHERE p.text LIKE '%memcpy%'
LIMIT 50;

Caveats

  • Different decompilers produce wildly different output — never write

brittle string-matching against pseudocode for downstream parsing.

  • Identify the available backend when reporting pseudocode. Built-in pdc

is an approximate pseudodecompiler; inferred signatures and return values can be misleading. Check uncertain semantics against instructions, such as mov al, 1, which writes only AL rather than the complete RAX register.

  • Decompilation is slow; the table doesn't cache across sessions.

Reopen with -p NAME to keep the analysis warm, but the pseudocode itself is re-rendered per query.

  • Some functions decompile to a comment like // Not yet implemented

for thunks, leaf functions, or anything r2's analysis can't handle.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
24
Repository forks
2
7-day trend score
5

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/radareorg/radare2-skills/decompiler/badge)](https://verified-skill.com/skills/radareorg/radare2-skills/decompiler)

Something wrong with this skill or its page? Tell us.