{"id":51297717,"url":"https://github.com/sidenai/hyperion-disassembler","last_synced_at":"2026-06-30T16:01:35.510Z","repository":{"id":356965364,"uuid":"1234816868","full_name":"Sidenai/hyperion-disassembler","owner":"Sidenai","description":"Native multi-arch disassembler \u0026 decompiler - PE/ELF/Mach-O, x86/x64/ARM64, Lua scripting, RTTI recovery","archived":false,"fork":false,"pushed_at":"2026-06-11T21:21:57.000Z","size":419,"stargazers_count":181,"open_issues_count":3,"forks_count":21,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-06-11T23:12:28.253Z","etag":null,"topics":["disassembler","gamehackingtools","re","reverseengineering","windows"],"latest_commit_sha":null,"homepage":"https://discord.gg/yCgZUtNH5E","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sidenai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-10T17:18:38.000Z","updated_at":"2026-06-11T21:22:02.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Sidenai/hyperion-disassembler","commit_stats":null,"previous_names":["mylovereturns/hyperion-disassembler","sidenai/hyperion-disassembler"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/Sidenai/hyperion-disassembler","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sidenai%2Fhyperion-disassembler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sidenai%2Fhyperion-disassembler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sidenai%2Fhyperion-disassembler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sidenai%2Fhyperion-disassembler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sidenai","download_url":"https://codeload.github.com/Sidenai/hyperion-disassembler/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sidenai%2Fhyperion-disassembler/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34973617,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-30T02:00:05.919Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["disassembler","gamehackingtools","re","reverseengineering","windows"],"created_at":"2026-06-30T16:01:33.693Z","updated_at":"2026-06-30T16:01:35.245Z","avatar_url":"https://github.com/Sidenai.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hyperion\r\n\r\nA native multi-architecture disassembler and binary analysis tool. Supports PE, ELF, Mach-O, and .NET binaries across x86, x64, ARM, ARM64, MIPS, and PPC. Built from scratch in C++20 with ImGui.\r\n\r\n[![Discord](https://img.shields.io/badge/Discord-Join-5865F2?logo=discord)](https://discord.gg/yjym2b7A)\r\n[![GitHub](https://img.shields.io/github/stars/mylovereturns/hyperion-disassembler?style=flat\u0026label=Stars)](https://github.com/mylovereturns/hyperion-disassembler)\r\n\r\nSingle statically-linked executable. No installer, no runtime dependencies. Under 3MB.\r\n\r\n\u003cimg width=\"3436\" height=\"1362\" alt=\"image\" src=\"https://github.com/user-attachments/assets/89ffa137-ed79-4d6a-b9a6-61324192916b\" /\u003e\r\n\r\n## Community\r\n\r\n- [Discord](https://discord.gg/yjym2b7A)\r\n- [GitHub](https://github.com/mylovereturns/hyperion-disassembler)\r\n\r\n## Supported Formats \u0026 Architectures\r\n\r\n| Format | Architectures |\r\n|--------|--------------|\r\n| PE (exe, dll, sys) | x86, x64 |\r\n| ELF (so, o, executables) | x86, x64, ARM, ARM64, MIPS, PPC |\r\n| Mach-O (dylib, executables, fat/universal) | x64, ARM64 |\r\n| .NET (managed assemblies) | CIL/IL bytecode |\r\n\r\nDisassembly: Zydis (x86/x64) + Capstone (ARM, ARM64, MIPS, PPC)\r\n\r\n## Features\r\n\r\n**Analysis**\r\n- Recursive descent + linear sweep with alignment conflict resolution\r\n- .pdata exception directory for x64 function boundaries\r\n- RTTI C++ class recovery (vtable parsing, method naming, class hierarchy)\r\n- Import thunk detection, switch/jump table resolution\r\n- Vtable detection, global variable detection\r\n- FLIRT signature matching (~100 MSVC CRT patterns)\r\n- Packer detection (UPX, Themida, VMProtect, ASPack, MPRESS)\r\n- PDB symbol loading (auto-detect via DbgHelp)\r\n- DWARF symbol loading (.debug_info for ELF)\r\n- C++ name demangling (MSVC + GCC/Clang)\r\n- Noreturn/tail call/calling convention detection\r\n- Dataflow propagation, indirect call resolution\r\n- Inter-procedural type propagation\r\n\r\n**Decompiler**\r\n- Ghidra-style SSA pipeline (p-code lift → SSA → DCE → propagation → structuring → emit)\r\n- x86/x64 and ARM64 decompiler\r\n- Mark-and-sweep dead code elimination\r\n- RTTI-aware output (obj-\u003eClass::method())\r\n- STL container recognition (std::string, std::vector, std::shared_ptr)\r\n- Operator overload detection, for-loop reconstruction\r\n- Return value propagation, caller-save argument folding\r\n- Main/WinMain detection with typed parameters\r\n- Symbolic data addresses\r\n\r\n**UI**\r\n- 4 themes (Hyperion, IDA, Midnight, Custom) + background image support\r\n- Navigation band (color-coded memory overview, click to navigate)\r\n- Disassembly with color-coded mnemonics, inline string/import annotations, xref badges\r\n- Hex editor with patching, pattern highlight, keyboard navigation\r\n- Pseudo-code panel (F5, copyable)\r\n- Control flow graph with clickable nodes (Space toggles graph/disasm)\r\n- Functions, strings, imports/exports panels with filter and copy\r\n- Cross-reference popup (X key) and tabbed panel\r\n- Entropy heatmap, call graph, stack frame view\r\n- Type system (structs, enums), Classes view (RTTI browser)\r\n- Binary diff, PE header viewer with packer results\r\n- SigMaker (auto-wildcard, 4 output formats, uniqueness test)\r\n- Search (text, binary pattern with wildcards, immediate values)\r\n- Beautify mode (hides noise, shows only function code + key data)\r\n- Context menu: copy as C array, Python bytes, YARA pattern\r\n- Status bar, monospace code fonts, multiple font sizes\r\n\r\n**Scripting \u0026 Plugins**\r\n- Embedded Lua 5.4 console (View \u003e Script Console)\r\n- Plugin system: drop `.lua` files in `plugins/` folder\r\n- Plugin API: register menu items, hotkeys, analysis callbacks\r\n- Script API: get_name, set_name, get_insn, get_bytes, get_functions, get_xrefs_to, set_comment, goto_addr, patch_byte, get_segments, get_arch, create_function\r\n- See [docs/scripting.md](docs/scripting.md) and [docs/plugins.md](docs/plugins.md)\r\n\r\n**MCP Server (Model Context Protocol)**\r\n- Built-in headless MCP server for AI integration (Cursor, Claude Desktop, etc.)\r\n- Access disassembly, decompilation, xrefs, and binary structures directly via AI prompts\r\n- Start the server by passing `--mcp` to the executable:\r\n  `./build/Release/Hyperion --mcp` (or equivalent on your platform)\r\n- Supports checking status, finding functions, string references, modifying comments/names, and decompiling over stdio.\r\n\r\n**Customization**\r\n- Settings panel (Ctrl+,): fonts, colors, keybinds, advanced options\r\n- Editable keybinds (press-to-assign, persisted)\r\n- Custom theme export/import (.hth files)\r\n- `themes/` folder for community theme distribution\r\n- Background image support (png/jpg, opacity slider)\r\n- Window opacity, cursor line color, border radius, scrollbar width, font selector\r\n\r\n**Export**\r\n- Patched binary, .asm listing (MASM-style)\r\n- IDAPython script export\r\n- Project save/load (.hdb format)\r\n- Copy as C array / Python / YARA\r\n\r\n**Stability**\r\n- PE loader hardened against malformed binaries\r\n- Thread-safe analysis (atomic handoff to UI)\r\n- Memory optimized (fixed-size instruction buffers, section limits)\r\n- Full undo/redo for all operations\r\n- Auto-save every 60 seconds\r\n- Crash-free on minimize/unfocus\r\n\r\n## Keybinds\r\n\r\n| Key | Action |\r\n|-----|--------|\r\n| G | Go to address |\r\n| N | Rename |\r\n| ; | Comment |\r\n| X | Cross-references |\r\n| F5 | Decompile function |\r\n| Space | Toggle disasm/graph |\r\n| D | Define data |\r\n| A | Define string |\r\n| U | Undefine |\r\n| C | Force as code |\r\n| H | Toggle hex/decimal |\r\n| P | Create function |\r\n| Enter | Follow branch/call |\r\n| Escape | Navigate back |\r\n| Shift+F12 | Strings view |\r\n| Ctrl+O | Open |\r\n| Ctrl+S | Save |\r\n| Ctrl+, | Settings |\r\n| Ctrl+F | Search |\r\n| Alt+B | Binary search |\r\n| Ctrl+Z/Y | Undo/Redo |\r\n| Ctrl+Shift+S | Generate signature |\r\n\r\nAll keybinds are customizable via Settings.\r\n\r\n## Building\r\n\r\nRequires CMake 3.25+, vcpkg, C++20 compiler (MSVC 2022+, GCC 13+, or Clang 16+).\r\n\r\n```\r\ngit clone https://github.com/Sidenai/hyperion-disassembler\r\ncd hyperion-disassembler\r\ncmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=path/to/vcpkg/scripts/buildsystems/vcpkg.cmake\r\ncmake --build build --config Release\r\n```\r\n\r\nFor static linking (single exe, no DLLs):\r\n```\r\ncmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=path/to/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static\r\ncmake --build build --config Release\r\n```\r\n\r\nDependencies (pulled via vcpkg): imgui (docking), glfw, zydis, capstone, spdlog, fmt, zlib, lua, stb.\r\n\r\n## Platforms\r\n\r\n| Platform | Status |\r\n|----------|--------|\r\n| Windows x64 | Full support (UI + MCP) |\r\n| Linux x64 | Builds, full support (UI + MCP) |\r\n| macOS (Intel + Apple Silicon) | Builds, full support (UI + MCP) |\r\n\r\n## Status\r\n\r\nActive development. Functional for static analysis across all supported formats. Decompiler produces readable C output for x86/x64 and ARM64. RTTI class recovery works on unobfuscated C++ binaries.\r\n\r\nRoadmap:\r\n- Debugger integration (attach, breakpoints, anti-detection)\r\n- Collaborative analysis\r\n- More decompiler improvements\r\n\r\n## License\r\n\r\nMIT\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsidenai%2Fhyperion-disassembler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsidenai%2Fhyperion-disassembler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsidenai%2Fhyperion-disassembler/lists"}