Torna agli aggiornamenti
New releaseAug 17, 2026

hyperion-disassembler v0.1.6stable

Disassemblatore e decompilatore nativo multi-architettura - PE/ELF/Mach-O, x86/x64/ARM64, scripting Lua, recupero RTTI

Condividi

Hyperion

Uno strumento nativo di disassemblaggio e analisi binaria multi-architettura. Supporta binari PE, ELF, Mach-O e .NET su x86, x64, ARM, ARM64, MIPS e PPC. Realizzato da zero in C++20 con ImGui.

Discord GitHub

Singolo eseguibile collegato staticamente. Nessun installer, nessuna dipendenza runtime. Sotto i 3 MB.

image

Comunità

Formati e Architetture Supportati

FormatoArchitetture
PE (exe, dll, sys)x86, x64
ELF (so, o, eseguibili)x86, x64, ARM, ARM64, MIPS, PPC
Mach-O (dylib, eseguibili, fat/universal)x64, ARM64
.NET (assembly gestiti)bytecode CIL/IL

Disassemblaggio: Zydis (x86/x64) + Capstone (ARM, ARM64, MIPS, PPC)

Funzionalità

Analisi

  • Discesa ricorsiva + scansione lineare con risoluzione dei conflitti di allineamento
  • Directory delle eccezioni .pdata per i confini delle funzioni x64
  • Recupero delle classi C++ RTTI (analisi delle vtable, assegnazione nomi ai metodi, gerarchia delle classi)
  • Rilevamento di stub di import, risoluzione di tabelle switch/jump
  • Rilevamento vtable, rilevamento variabili globali
  • Corrispondenza firme FLIRT (~100 pattern CRT MSVC)
  • Rilevamento packer (UPX, Themida, VMProtect, ASPack, MPRESS)
  • Caricamento simboli PDB (rilevamento automatico tramite DbgHelp)
  • Caricamento simboli DWARF (.debug_info per ELF)
  • Demangling nomi C++ (MSVC + GCC/Clang)
  • Rilevamento di noreturn/tail call/calling convention
  • Propagazione del flusso dati, risoluzione di chiamate indirette
  • Propagazione del tipo inter-procedurale

Decompilatore

  • Pipeline SSA in stile Ghidra (p-code lift → SSA → DCE → propagazione → strutturazione → emissione)
  • Decompilatore per x86/x64 e ARM64
  • Eliminazione del codice morto mark-and-sweep
  • Output consapevole di RTTI (obj->Classe::metodo())
  • Riconoscimento contenitori STL (std::string, std::vector, std::shared_ptr)
  • Rilevamento overload di operatori, ricostruzione cicli for
  • Propagazione del valore di ritorno, folding degli argomenti caller-save
  • Rilevamento di Main/WinMain con parametri tipizzati
  • Indirizzi dati simbolici

Interfaccia Utente

  • 4 temi (Hyperion, IDA, Midnight, Custom) + supporto immagini di sfondo
  • Barra di navigazione (panoramica della memoria a colori, clicca per navigare)
  • Disassemblaggio con mnemonici colorati, annotazioni inline di stringhe/import, badge di xref
  • Editor esadecimale con patching, evidenziazione pattern, navigazione da tastiera
  • Pannello pseudo-codice (F5, copiabile)
  • Grafico del flusso di controllo con nodi cliccabili (Spazio alterna grafico/disassemblaggio)
  • Pannelli funzioni, stringhe, import/export con filtro e copia
  • Popup dei riferimenti incrociati (tasto X) e pannello a schede
  • Mappa di calore dell'entropia, grafico delle chiamate, vista dello stack frame
  • Sistema di tipi (struct, enum), vista delle classi (browser RTTI)
  • Diff binario, visualizzatore header PE con risultati packer
  • SigMaker (auto-wildcard, 4 formati output, test di unicità)
  • Ricerca (testo, pattern binario con wildcard, valori immediati)
  • Modalità Beautify (nasconde il rumore, mostra solo codice funzione + dati chiave)
  • Menu contestuale: copia come array C, bytes Python, pattern YARA
  • Barra di stato, font di codice monospaziato, dimensioni font multiple

Scripting e Plugin

  • Console Lua 5.4 integrata (Visualizza > Console Script)
  • Sistema di plugin: trascina file .lua nella cartella plugins/
  • API plugin: registra voci di menu, hotkey, callback di analisi
  • API script: 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
  • Vedi docs/scripting.md e docs/plugins.md

Server MCP (Model Context Protocol)

  • Server MCP headless integrato per integrazione AI (Cursor, Claude Desktop, ecc.)
  • Accedi a disassemblaggio, decompilazione, xref e strutture binarie direttamente tramite prompt AI
  • Avvia il server passando --mcp all'eseguibile: ./build/Release/Hyperion --mcp (o equivalente sulla tua piattaforma)
  • Supporta controllo dello stato, ricerca di funzioni, riferimenti a stringhe, modifica commenti/nomi e decompilazione su stdio.

Personalizzazione

  • Pannello Impostazioni (Ctrl+,): font, colori, tasti, opzioni avanzate
  • Tasti modificabili (premi per assegnare, persistiti)
  • Esportazione/importazione temi personalizzati (file .hth)
  • Cartella themes/ per la distribuzione di temi della comunità
  • Supporto immagini di sfondo (png/jpg, slider opacità)
  • Opacità finestra, colore linea cursore, raggio bordo, larghezza scrollbar, selettore font

Esportazione

  • Binario modificato, listato .asm (stile MASM)
  • Esportazione script IDAPython
  • Salvataggio/caricamento progetto (formato .hdb)
  • Copia come array C / Python / YARA

Stabilità

  • Loader PE rinforzato contro binari malformati
  • Analisi thread-safe (passaggio atomico all'interfaccia utente)
  • Memoria ottimizzata (buffer di istruzioni a dimensione fissa, limiti di sezione)
  • Annulla/rifai completo per tutte le operazioni
  • Salvataggio automatico ogni 60 secondi
  • Senza crash su minimizzazione/perdita di focus

Tasti

TastoAzione
GVai all'indirizzo
NRinomina
;Commento
XRiferimenti incrociati
F5Decompila funzione
SpazioAlterna disassemblaggio/grafico
DDefinisci dato
ADefinisci stringa
UAnnulla definizione
CForza come codice
HAlterna esadecimale/decimali
PCrea funzione
InvioSegui ramo/chiamata
EscNaviga indietro
Shift+F12Vista stringhe
Ctrl+OApri
Ctrl+SSalva
Ctrl+,Impostazioni
Ctrl+FCerca
Alt+BRicerca binaria
Ctrl+Z/YAnnulla/Rifai
Ctrl+Shift+SGenera firma

Tutti i tasti sono personalizzabili tramite Impostazioni.

Compilazione

Richiede CMake 3.25+, vcpkg, compilatore C++20 (MSVC 2022+, GCC 13+ o Clang 16+).

git clone https://github.com/Sidenai/hyperion-disassembler
cd hyperion-disassembler
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=path/to/vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build build --config Release

Per collegamento statico (singolo exe, nessuna DLL):

cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=path/to/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static
cmake --build build --config Release

Dipendenze (recuperate via vcpkg): imgui (docking), glfw, zydis, capstone, spdlog, fmt, zlib, lua, stb.

Piattaforme

PiattaformaStato
Windows x64Supporto completo (UI + MCP)
Linux x64Si compila, supporto completo (UI + MCP)
macOS (Intel + Apple Silicon)Si compila, supporto completo (UI + MCP)

Stato

Sviluppo attivo. Funzionale per analisi statica su tutti i formati supportati. Il decompilatore produce output C leggibile per x86/x64 e ARM64. Il recupero delle classi RTTI funziona su binari C++ non offuscati.

Roadmap:

  • Integrazione debugger (attach, breakpoint, anti-rilevamento)
  • Analisi collaborativa
  • Ulteriori miglioramenti al decompilatore

Licenza

MIT

Categorie