SYMB
Supports analysis and unflattening of ARM64 root-detection and integrity-checking routines in Android native .so binaries.
Provides an ARM64 backend for symbolic execution, control-flow unflattening, and deobfuscation of ARM64 binaries.
Supports analysis and unflattening of ARM64 root-detection and integrity-checking routines in iOS Mach-O binaries.
Enables analysis of live Linux processes, including zero-disk function hooking and executable trampoline injection into running services.
Supports unflattening switch-heavy WASM dispatchers and normalizing structured block/loop control flow in WebAssembly binaries.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SYMB Find input bytes that reach the success branch in ./crackme"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
English · Tiếng Việt
One MCP server for symbolic execution, OLLVM unflattening, and active binary intervention across binaries and runtimes.
npx symb-agents setup📑 Table of Contents (Mục Lục)
Related MCP server: Antardrishti
⚡ What is SYMB?
SYMB is an autonomous reverse engineering, constraint solving, and active binary intervention engine purpose-built for AI agents. It wraps low-level symbolic execution engines (Z3 SMT Solver, angr, Unicorn CPU Emulator, Capstone, pefile) into clean Model Context Protocol (MCP) tool contracts.
⚔️ Architectural Comparison: SYMB vs REA
Mainstream reverse engineering assistants (such as morluto/rea) are designed strictly as passive observers: they decompile, format pseudocode, and catalog observations, but explicitly refuse to perform binary mutations, bypass checks, or intervene in execution.
Feature / Capability | Passive Assistants (e.g. REA) | SYMB (Active RE & Symbolic Engine) |
Philosophy | Passive Read-Only Analysis | Active Dynamic Intervention & Weaponization |
Binary opcodes mutation | ❌ Refused / Out of scope | ✔ Surgical disk binary patcher with RVA-to-Raw conversion |
PE Optional CheckSum | ❌ None | ✔ Automated PE CheckSum recalculation on patched binaries |
Anti-Debug / Anti-Analysis | ⚠️ Report detections only | ✔ Automated trap neutralization (NOP out RDTSC, INT 2D, PEB BeingDebugged) |
License & DRM Logic | ⚠️ Static report | ✔ Automated branch conditional inversion ( |
Dynamic Instrumentation | ⚠️ Basic passive trace | ✔ Frida script generator (SSL Unpinning, Root cloak, Anti-Debug API hook) |
Live RAM Hot Patching | ❌ None | ✔ Zero-disk memory trampolines via Win32 VirtualProtectEx / /proc/pid/mem |
OLLVM Deobfuscation | ❌ Basic heuristic | ✔ Symbolic state-variable dispatcher unflattening via Z3 & angr |
Evidence & Provenance | ✔ Standard schema | ✔ Target Identity (SHA256/MD5), Engine Provenance, Fail-Closed verification |
Test Verification | ✔ Complex test suite | ✔ Vitest Unit/Integration Tests + 8 Automated Verification Suites |
🛠️ MCP Tool Reference (20 Native Tools)
SYMB implements 20 high-speed native reversing and intervention tools via standard MCP JSON-RPC:
⚔️ Active Binary Intervention Arsenal (5 Tools)
Tools specifically engineered for active exploitation, cracking, and binary neutralization:
Tool Name | Key Arguments | Primary Capability | Deep-Dive Guide |
|
| Surgical physical disk patcher. Converts RVA to physical file offset, modifies arbitrary hex bytes, generates byte-by-byte diffs, and updates PE checksums. | |
|
| Scans and neutralizes inline RDTSC timing traps, INT 2D/3 traps, and PEB BeingDebugged checks. Automatically writes patched binaries with recalculated PE checksums. | |
|
| Evaluates authorization branch conditionals, computes inversion patches ( | |
|
| Generates battle-tested Frida dynamic instrumentation scripts for SSL unpinning, RootBeer cloaking, and Windows native API hooks. | |
|
| Injects atomic zero-disk trampolines into running process RAM without touching disk binaries. |
🔬 Symbolic Execution & SMT Solver Engines (3 Tools)
Tool Name | Key Arguments | Primary Capability | Deep-Dive Guide |
|
| Symbolically deobfuscates OLLVM switch dispatchers and restores original CFG. | |
|
| Uses Z3 SMT Solver & angr to solve for exact inputs reaching target branches. | |
|
| Bit-level dataflow propagation analysis from input buffers to critical memory sinks. |
⚡ Multi-Platform Native Decompilers & Unpackers (4 Tools)
Tool Name | Key Arguments | Primary Capability | Deep-Dive Guide |
|
| Unicorn CPU emulation unpacker. Executes binary past packer stubs (UPX, Themida, crypters), detects OEP tail jumps, and dumps unpacked memory images. | |
|
| Decompiles machine code to clean C pseudocode in < 400ms with Capstone and struct layout inference. | |
|
| Automated whole-program decompiler. Recovers function entry points and generates unified C source files. | |
|
| 5-Pass native Dalvik DEX decompiler. Audits permissions, keystore signature schemes (v1/v2/v3), CWEs, and lifts Dalvik to Java. |
🔍 Deep Binary Auditing & Memory Engines (8 Tools)
Tool Name | Key Arguments | Primary Capability | Deep-Dive Guide |
|
| Decompiles Apple iOS IPA packages & ARM64 Mach-O binaries. Audits FairPlay DRM (cryptid) and Anti-Jailbreak heuristics. | |
|
| Solves Single-byte XOR, Multi-byte cycling XOR, Rolling Key XOR, and Base64 across PE, ELF, APK, and .so binaries. | |
|
| Detects packers (UPX, Themida, VMProtect, Enigma), Anti-Debug APIs, Anti-VM artifacts, and ASM timing traps. | |
|
| Scans PE/ELF headers, ASLR/DEP/SafeSEH mitigations, IAT/EAT exports, and measures section entropy. | |
|
| Scans for AES S-Boxes, SHA/MD5 constants, CRC32 tables, RC4 loops, and ChaCha schedules for SMT inversion. | |
|
| 256-byte sliding window Shannon entropy heatmap generator for encrypted shellcode and compressed overlays. | |
|
| Maps whole-program call graph edges, indirect calls, and string literal cross-references. | |
|
| Downsamples oversized videos, isolates audio tracks, and streams multi-GB dumps via zero-RAM mmap. |
📚 Documentation Hub & Architecture Guides (docs/)
SYMB maintains comprehensive, modular documentation covering theoretical foundations, implementation guides, and MCP specifications:
Guide / Document | Focus Area | Description |
Binary Cracking & Patching | Complete guide for RVA-to-Raw mapping, PE CheckSum recalculation, Anti-Debug neutralization, and Frida generator. | |
Protocol Specification | Formal JSON schemas, inputs, outputs, and Canonical Evidence records for all 20 native MCP tools. | |
Deobfuscation | Mathematical state-variable solving, dispatcher pruning, and CFG restoration using Z3 & angr. | |
Symbolic Execution | Automated path reachability, SAT solving, and crackme solving with Z3 SMT Theorem Prover. | |
Native & Dalvik Lifting | Unicorn CPU emulation unpacker, high-speed C pseudocode generator, and 5-pass Android DEX decompiler. | |
Live Memory Hooking | Win32 API ( | |
Context Management | Hardware-accelerated audio extraction, video downsampling budgets, and zero-RAM | |
Architecture | Core system principles, mathematical invariants, and agent integration guidelines. | |
Compatibility | Platform support matrix across Windows (x86/x64), Linux (x86/x64/ARM), macOS, Android, and iOS. | |
Getting Started | Detailed step-by-step setup for Claude Desktop, Cursor, Antigravity, and global CLI usage. |
💻 Standalone Command-Line Interface (CLI)
# Neutralize Anti-Debugging traps and produce patched binary
symb antidebug ./target.exe --patch
# Bypass license authorization checks and invert branch logic
symb license-bypass ./target.exe --force-success
# Dynamically unpack UPX or encrypted binary via Unicorn CPU emulation
symb unpack ./examples/01_ollvm_cff/CFF_win64.exe
# Decompile native function with control-flow structuring & struct inference
symb decompile ./examples/02_smt_crackme/ais3_crackme 0x4005f6
# Translate an entire binary to a unified C project file
symb decompile-all ./examples/02_smt_crackme/ais3_crackme --limit 10
# Decompile Android APK with resources.arsc symbol resolution
symb apk ./examples/04_apk_sample/sample_protected.apk🧪 Testing & Rigorous Verification (100% Pass)
SYMB enforces strict fail-closed verification and canonical evidence contracts:
# Run Vitest Unit & Integration Suites
npm run test:unit
# Run All 8 Comprehensive System Verification Suites
npm testSuites include:
System Capabilities & Solver Audit (Node, Python, Z3, angr, Unicorn, Capstone)
MCP Tool Contracts & Zod Schemas (Validating all 20 tool schemas)
Native High-Speed EXE Decompiler & Layout Engine
Z3 SMT Mathematical Logic Engine
OLLVM Control-Flow Unflattening (PE & ELF)
SMT Branch Reachability Solver
Large Media & Binary Buffer Optimizer Engine
Active Binary Intervention & Weaponized RE Engine
📦 Requirements & Environment
Node.js:
>= 18.0.0(Verified on Node 20, 22, and 24)Python:
>= 3.10Native Solvers:
pip install -r requirements.txt(Z3 SMT Solver, angr, Unicorn, Capstone, pefile).Run
symb auditornpx symb-agents setupto automatically audit your local runtime capabilities.
📄 License
MIT License. Open-source for developers, security researchers, and autonomous AI agents.
Available Tools
20 toolsbypass_license_authorizationB
Active reverse engineering intervention. Detects authorization/license validation branches, computes conditional jump inversions, and applies permanent binary bypass patches on disk.
Inputs: binary_path (required), output_path, apply_to_file, force_success, +1 more.
decompile_apk_packageB
5-Pass native Dalvik DEX decompiler. Audits permissions, keystore signature schemes (v1/v2/v3), CWE vulnerabilities, hardcoded secrets, and lifts Dalvik bytecode to Java classes.
Inputs: target_path (required), max_classes.
decompile_entire_programB
Whole-program C decompiler. Discovers function entry points and generates unified, compilable C source files with forward declarations.
Inputs: binary_path (required), max_functions.
decompile_ios_ipa_packageA
Decompiles Apple iOS IPA packages (.ipa) and ARM64 Mach-O executables. Audits FairPlay DRM (cryptid), Anti-Jailbreak heuristics, and reconstructs Objective-C / Swift interfaces.
Inputs: target_path (required).
decompile_native_functionB
High-speed machine code decompiler (< 400ms). Lifts x86/x64/ARM assembly into clean C pseudocode with branch conditions, string references, and IAT/PLT stub resolution.
Inputs: binary_path (required), function_address, max_instructions.
decrypt_obfuscated_stringsA
Automated string decryptor across raw binary sections. Recovers Single-byte XOR, Multi-byte cycling XOR, and Additive Rolling-Key XOR encrypted strings.
Inputs: binary_path (required), max_candidates.
detect_binary_protectionsC
Detects commercial packers (UPX, Themida, VMProtect, Enigma), Anti-Debugging APIs, Anti-VM heuristics, and RDTSC timing traps.
Inputs: binary_path (required).
detect_crypto_primitivesA
Scans for AES S-Boxes, SHA/MD5 constants, CRC32 tables, RC4 loops, and ChaCha schedules for SMT inversion.
Inputs: binary_path (required).
dynamically_unpack_binaryA
Unicorn CPU emulation unpacker. Executes binary past packer stubs (UPX, Themida, crypters), detects OEP tail jumps, and dumps unpacked memory images.
Inputs: binary_path (required), max_instructions.
generate_frida_instrumentationB
Active reverse engineering intervention. Generates production-grade Frida dynamic instrumentation scripts for SSL unpinning, root/jailbreak cloaking, anti-debug runtime hooks, and dynamic crypto sniffing.
Inputs: target (required), platform, script_type, custom_filter.
hot_patch_live_memoryC
Injects atomic hot-patch memory trampolines into running processes without touching disk binaries.
Inputs: pid (required), memory_address (required), patch_bytes_hex (required), expected_original_bytes.
inspect_binary_layoutB
Scans PE/ELF headers, ASLR/DEP/SafeSEH mitigations, IAT/EAT exports, and measures Shannon entropy per section.
Inputs: binary_path (required).
neutralize_anti_debuggingA
Active reverse engineering intervention. Scans and neutralizes anti-debugging traps, PEB BeingDebugged checks, INT 2D/3 traps, and RDTSC timing checks. Automatically NOPs out traps on disk binary with PE checksum recalculation.
Inputs: binary_path (required), auto_patch, output_path.
optimize_large_media_bufferB
Solves agent memory/context exhaustion for oversized media (video/audio) and large binary dumps (> 50MB). Auto-downsamples videos to agent budget, isolates audio tracks for transcription, extracts keyframes, and provides mmap streaming.
Inputs: file_path (required), target_max_mb.
patch_binary_executableB
Active reverse engineering intervention. Surgical disk binary patcher with RVA-to-Raw conversion, PE/ELF section mapping, arbitrary hex byte modification, automatic backup creation, and PE checksum recalculation.
Inputs: patches (required), binary_path (required), output_path, create_backup, +1 more.
scan_byte_entropyA
Calculates rolling Shannon entropy heatmap across any binary (PE, ELF, APK, Mach-O). Detects packed/encrypted payloads and outputs visual distribution histograms.
Inputs: binary_path (required), block_size.
solve_branch_reachabilityB
Uses Z3 SMT Theorem Prover and angr to solve for exact concrete inputs reaching target branches while pruning failure paths.
Inputs: binary_path (required), target_address (required), input_length, avoid_addresses.
trace_binary_xrefsB
Traces whole-program call graph edges, indirect calls, resolved IAT/PLT stubs, and literal string cross-references (XREFs).
Inputs: binary_path (required).
trace_symbolic_taintB
Symbolic dataflow taint analysis proving whether attacker-controlled inputs propagate to dangerous memory sinks.
Inputs: binary_path (required), sink_symbol (required), source_symbol (required).
unflatten_control_flowC
Symbolically deobfuscates OLLVM Control-Flow Flattening (CFF) state dispatchers and reconstructs clean linear basic blocks.
Inputs: binary_path (required), function_address (required), timeout_seconds.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 20 tools
Most tools target clearly distinct reverse-engineering actions, such as static decompilation, symbolic solving, probing entropy, unpacking, and mobile package analysis. Some overlap exists among active patching tools (patch_binary_executable, hot_patch_live_memory, neutralize_anti_debugging, bypass_license_authorization), but their descriptions distinguish disk, live-memory, anti-debug, and licensing scopes.
All tools use snake_case and begin with an action-oriented verb or verb phrase, e.g. decompile_*, detect_*, trace_*, scan_*, patch_*. Minor modifier phrases like dynamically_unpack_binary and hot_patch_live_memory are still readable and consistent within the overall convention.
Twenty tools is slightly heavy, but the breadth of binary analysis, decompilation, dynamic instrumentation, patching, unpacking, and mobile/desktop coverage justifies most of them. A few capabilities are specialized enough that consolidation could reduce overlap, but the set is not bloated for a reverse-engineering suite.
The surface covers static analysis, decompilation, entropy/protection detection, symbolic execution, taint tracing, anti-debug neutralization, binary patching, live memory patching, Frida instrumentation, unpacking, and iOS/Android decompilation. It addresses both analysis and active intervention workflows, leaving no obvious major gap for the stated domain.
Maintenance
Related MCP Connectors
Hunt zero-days by talking to binaries. 40+ tools. Hosted, OAuth + SSO, invite: hi@byteray.ai
Jailbreak-proof AI guardrails. Automated Reasoning SMT solver, not an LLM. ZK proofs included.
Formally-verified injection/exfiltration detector for AI agents (MCP-02).
Autonomous agent guardrails, bash sandboxing, MCP rugpull diffing & prompt firewalls.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to solve CTF challenges through natural language by disassembling binaries, cracking hashes, fuzzing web applications, extracting steganography, and running pwntools exploits.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to locally analyze and reverse engineer binaries through a compact 12-tool MCP interface for triage, function discovery, disassembly/decompilation, cross-references, strings/imports, call graphs, memory reads, annotations, and binary diffs.1MIT
- FlicenseNot gradedqualityAmaintenanceEnables AI agents to import, disassemble, and debug binaries directly so they can perform cross-reference reasoning, rename stripped functions, and recover structure layouts during native reverse-engineering workflows. It integrates with offline ELF reconnaissance output to support symbol and struct recovery without opening the Ghidra GUI.-
- AlicenseNot gradedqualityCmaintenanceEnables AI coding agents to inspect and reverse-engineer large binaries through bounded stdio JSON-RPC 2.0 tools for graph queries, SSA facts, path solving, runtime grounding, and mod scaffolding.1AGPL 3.0