re-lief
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_liefA | Return LIEF version, supported formats, and a green/yellow status. Returns a JSON-serializable dict suitable for |
| parse_binaryA | Auto-detect the format of path and return a normalized header dict. Returns hashes, format name, architecture, entrypoint, and format-specific fields (imphash for PE, PIE/NX/RELRO for ELF, code signature for MachO, etc.). |
| get_sectionsA | Return section list with permissions, virtual vs raw size, and entropy. Works for PE (.text/.rdata/.data/.rsrc), ELF (.text/.rodata/.data), and MachO (__TEXT/__DATA/__LINKEDIT). |
| get_imports_exportsA | Return symbol-level import and export tables for path. Args:
path: PE / ELF / MachO to analyze.
max_imports: cap the returned imports list to this many
entries. 0 = no cap (the v2.9.0 default).
max_exports: same cap for the exports list.
library_filter: optional substring filter against the
library name (pipe-separated for OR). e.g.
Added in v2.9.1+ to fix Gap 27 (the response-size ceiling
on the 4 large VM-protected targets). The response includes
a |
| get_imphashA | Return the PE import hash (imphash) for path. Imphash is the MD5 of the normalized import table — used for malware variant identification. Returns an empty string for non-PE formats. |
| get_overlayB | Return appended data after the last section (PE overlay). |
| get_authenticodeC | Return Authenticode signature details for PE binaries. |
| get_debug_directoryA | Return the PE debug directory entries (incl. IMAGE_DEBUG_TYPE_POGO). The POGO entry (type 10) is the third-party-ATD
layer's trigger-arming metadata (per
ANTI-TAMPER-TAXONOMY.md Pattern A-DW). Surfaced
with The skill-side fallback See |
| list_dex_classesB | List all classes in a Dalvik DEX file. Returns FQN, access flags, and method/field counts. |
| list_dex_methodsC | List all methods of a DEX class identified by FQN (e.g. |
| list_oat_artC | List all methods in an OAT/ART Android runtime file. |
| disasm_capstoneA | Disassemble size bytes of section section_name starting at offset. Returns a JSON list of instructions (address, mnemonic, operands, bytes). Truncates to max_insns (default 500) — call again with a different offset to see more. |
| extract_stringsA | Extract printable ASCII and UTF-16LE strings from path. Returns .. note::
This is the v2.4 shape, kept stable for backward compatibility.
New code should call |
| categorize_stringsA | Extract strings from path and bucket them into semantic categories. The categorization vocabulary is loaded from
The return shape is a strict superset of :: On large binaries (e.g. a 500+ MB Unity IL2CPP Categories are descriptive — they describe observable string content, not specific commercial products. |
| normalize_for_diffA | Return a structural snapshot suitable for diffing two binaries. Strips variable-length fields (hashes, timestamps) and keeps the parts that should match between two builds of the same source. |
| scan_anti_analysis_primitivesA | Scan a binary for anti-analysis primitives (defender side). Walks the string table + the IAT + (best-effort) the
section table and matches the content against the
vendored The byte-sequence evidence (RDTSC = 0F 31, INT 2D = CD 2D,
INT 3 = CC, CPUID = 0F A2) is not checked here — that
requires a disasm pass via Args: path: file to scan max_per_category: per-category cap (default 100) Returns:: |
| classify_native_protectionA | Classify a native binary's protection class (category-only). Combines
Args: path: file to classify Returns:: |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Most tools have distinct purposes, but there is minor overlap between extract_strings and categorize_strings, as the latter is a superset retained for backward compatibility. Otherwise, each tool targets a specific analysis task.
All tool names follow a consistent snake_case verb_noun pattern (e.g., classify_native_protection, get_sections), making them predictable and easy for an agent to understand.
With 17 tools covering binary analysis across multiple formats (PE, ELF, MachO, DEX, OAT), the count is well-scoped for the domain without being excessive or sparse.
The tool set covers a wide range of binary analysis operations, including headers, sections, imports/exports, disassembly, strings, and protection classification. Minor gaps exist (e.g., no relocation or resource tools), but core workflows are supported.