decompiler
Decompile Binary Ninja functions via HLIL: pseudocode text, local variables, call sites. Always filter by func_addr.
Works with
--- name: decompiler description: Decompile Binary Ninja functions via HLIL: pseudocode text, local variables, call sites. Always filter by func_addr. license: MIT --- # Decompiler (HLIL) Binary Ninja's High Level IL is the closest thing to C-like pseudocode in BN. BNSQL exposes it through one SQL function and three tables. ## Surfaces | Surface | Description | Required filter | |---------|-------------|-----------------| | `decompile(addr)` UDF | Full-function decompiled text | — (single address) | | `decompile(addr, limit)` UDF | Limit-aware variant | — | | `pseudocode` table | Line-level filtering by `func_addr` / `ea` | **`func_addr = X`** | | `hlil_vars` table | Local variables; writable (name, type, comment) | **`func_addr = X`** | | `hlil_calls` table | Call sites discovered in HLIL | **`func_addr = X`** | **Always filter decompiler tables by `func_addr`** — without it, BN decompiles every function in the binary. ## Quick patterns ### Decompile one function ```sql -- Full function as one text block SELECT decompile(0x401000); -- Limit to 40 lines (good for surveys) SELECT decompile(0x401000, 40); ``` ### Local variables ```sql SELECT name, type, storage FROM hlil_vars WHERE func_addr = 0x401000; ``` ### Call sites inside a function ```sql SELECT DISTINCT callee_name FROM hlil_calls WHERE func_addr = 0x401000; ``` ### Decompile + line-level filter ```sql SELECT line_text FROM pseudocode WHERE func_addr = 0x401000 AND line_text LIKE '%CreateFile%'; ``` ### Find functions calling a target ```sql SELECT DISTINCT func_at(func_addr) AS caller FROM hlil_calls WHERE callee_name = 'malloc'; ``` ## Mutation surface (annotations) `hlil_vars` is writable on `name`, `type`, `comment`. Apply edits inside the mutation loop: ```sql -- 1. Read current state SELECT name, type FROM hlil_vars WHERE func_addr = 0x401000 AND storage = 'var_8'; -- 2. Apply mutation UPDATE hlil_vars SET name = 'user_buffer', type = 'char *' WHERE func_addr = 0x401000 AND storage = 'var_8'; -- 3. Re-read to verify SELECT name, type FROM hlil_vars WHERE func_addr = 0x401000 AND storage = 'var_8'; -- 4. Persist SELECT save(); ``` Writes to `hlil_vars`, `pseudocode`, or names that affect a function invalidate the decompiler cache for that function. The next decompile re-runs HLIL on the updated state — no manual refresh needed. ## Related skills - `annotations` for the broader mutation workflow (renames, comments, types) - `xrefs` for the surrounding call graph context - `types` for type creation and application to variables ## Performance Decompiler tables are **on-demand virtual tables** — each row requires decompiling its containing function. Unconstrained queries iterate every function and decompile each one. On a medium binary that's minutes-to-hours. Always pin to a specific `func_addr`.
More Accessibility skills
skill-creator
anthropics/skills
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
hyperframes-core
heygen-com/hyperframes
The HyperFrames composition contract — build one renderable project. Use for composition structure, the `data-*` timing attributes, `class="clip"`, tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Also covers Tailwind projects and the STORYBOARD.md / SCRIPT.md plan formats. Read before writing composition HTML.
ui-ux-pro-max
nextlevelbuilder/ui-ux-pro-max-skill
UI/UX design intelligence for web, mobile, and desktop. This skill should be used when designing, building, reviewing, or fixing interfaces, including pages, components, design systems, accessibility, interaction, responsive layout, typography, color, charts, and stack-specific UI implementation. Searchable local data: 79 searchable styles (50 active), 192 product palettes and reasoning profiles, 74 font pairings, 119 UX guidelines, 105 icons, 17 GSAP presets, 25 chart types, and 22 stacks.

