Voltar às atualizações
New releaseAug 17, 2026

hyperion-disassembler v0.1.6stable

Disassembler e decompilador nativo multiarquitetura - PE/ELF/Mach-O, x86/x64/ARM64, scripts em Lua, recuperação de RTTI

Compartilhar

Hyperion

Um desmontador nativo multiarquitetura e ferramenta de análise de binários. Suporta binários PE, ELF, Mach-O e .NET em x86, x64, ARM, ARM64, MIPS e PPC. Construído do zero em C++20 com ImGui.

Discord GitHub

Um único executável estaticamente vinculado. Sem instalador, sem dependências de runtime. Menos de 3MB.

image

Comunidade

Formatos e Arquiteturas Suportados

FormatoArquiteturas
PE (exe, dll, sys)x86, x64
ELF (so, o, executáveis)x86, x64, ARM, ARM64, MIPS, PPC
Mach-O (dylib, executáveis, fat/universal)x64, ARM64
.NET (assemblies gerenciados)CIL/IL bytecode

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

Recursos

Análise

  • Descida recursiva + varredura linear com resolução de conflitos de alinhamento
  • Diretório de exceções .pdata para limites de funções x64
  • Recuperação de classes C++ RTTI (análise de vtable, nomeação de métodos, hierarquia de classes)
  • Detecção de thunks de importação, resolução de tabelas switch/jump
  • Detecção de vtable, detecção de variáveis globais
  • Correspondência de assinaturas FLIRT (~100 padrões MSVC CRT)
  • Detecção de packers (UPX, Themida, VMProtect, ASPack, MPRESS)
  • Carregamento de símbolos PDB (detecção automática via DbgHelp)
  • Carregamento de símbolos DWARF (.debug_info para ELF)
  • Desmangling de nomes C++ (MSVC + GCC/Clang)
  • Detecção de noreturn/chamada de cauda/convenção de chamada
  • Propagação de fluxo de dados, resolução de chamadas indiretas
  • Propagação de tipos interprocedural

Decompilador

  • Pipeline SSA estilo Ghidra (elevação p-code → SSA → DCE → propagação → estruturação → emissão)
  • Decompilador para x86/x64 e ARM64
  • Eliminação de código morto mark-and-sweep
  • Saída ciente de RTTI (obj->Class::method())
  • Reconhecimento de contêineres STL (std::string, std::vector, std::shared_ptr)
  • Detecção de sobrecarga de operadores, reconstrução de loops for
  • Propagação de valor de retorno, dobramento de argumentos caller-save
  • Detecção de Main/WinMain com parâmetros tipados
  • Endereços de dados simbólicos

Interface

  • 4 temas (Hyperion, IDA, Midnight, Custom) + suporte a imagem de fundo
  • Barra de navegação (visão geral da memória codificada por cores, clique para navegar)
  • Desmontagem com mnemônicos codificados por cores, anotações inline de strings/importações, selos de xref
  • Editor hexadecimal com patch, realce de padrões, navegação por teclado
  • Painel de pseudocódigo (F5, copiável)
  • Grafo de fluxo de controle com nós clicáveis (Espaço alterna grafo/desmontagem)
  • Painéis de funções, strings, importações/exportações com filtro e cópia
  • Popup de referências cruzadas (tecla X) e painel com abas
  • Mapa de calor de entropia, grafo de chamadas, visualização de quadro de pilha
  • Sistema de tipos (structs, enums), visualização de Classes (navegador RTTI)
  • Diff binário, visualizador de cabeçalho PE com resultados de packers
  • SigMaker (auto-wildcard, 4 formatos de saída, teste de exclusividade)
  • Pesquisa (texto, padrão binário com curingas, valores imediatos)
  • Modo Beautify (oculta ruído, mostra apenas código de função + dados principais)
  • Menu de contexto: copiar como array C, bytes Python, padrão YARA
  • Barra de status, fontes de código monoespaçadas, múltiplos tamanhos de fonte

Scripts e Plugins

  • Console Lua 5.4 embutido (View > Script Console)
  • Sistema de plugins: coloque arquivos .lua na pasta plugins/
  • API de plugins: registrar itens de menu, teclas de atalho, callbacks de análise
  • API de scripts: 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
  • Veja docs/scripting.md e docs/plugins.md

Servidor MCP (Model Context Protocol)

  • Servidor MCP headless integrado para integração com IA (Cursor, Claude Desktop, etc.)
  • Acesse desmontagem, decompilação, referências cruzadas e estruturas binárias diretamente por meio de prompts de IA
  • Inicie o servidor passando --mcp para o executável: ./build/Release/Hyperion --mcp (ou equivalente na sua plataforma)
  • Suporta verificação de status, localização de funções, referências a strings, modificação de comentários/nomes e decompilação via stdio.

Personalização

  • Painel de configurações (Ctrl+,): fontes, cores, atalhos de teclado, opções avançadas
  • Atalhos de teclado editáveis (pressione para atribuir, persistidos)
  • Exportação/importação de temas personalizados (arquivos .hth)
  • pasta themes/ para distribuição de temas pela comunidade
  • Suporte a imagem de fundo (png/jpg, controle deslizante de opacidade)
  • Opacidade da janela, cor da linha do cursor, raio da borda, largura da barra de rolagem, seletor de fonte

Exportação

  • Binário com patch, listagem .asm (estilo MASM)
  • Exportação de script IDAPython
  • Salvar/carregar projeto (formato .hdb)
  • Copiar como array C / Python / YARA

Estabilidade

  • Carregador PE endurecido contra binários malformados
  • Análise thread-safe (entrega atômica para a UI)
  • Memória otimizada (buffers de instrução de tamanho fixo, limites de seção)
  • Undo/redo completo para todas as operações
  • Salvamento automático a cada 60 segundos
  • Sem travamentos ao minimizar/desfocar

Atalhos de teclado

TeclaAção
GIr para endereço
NRenomear
;Comentar
XReferências cruzadas
F5Decompilar função
SpaceAlternar desmontagem/grafo
DDefinir dado
ADefinir string
UDesdefinir
CForçar como código
HAlternar hexadecimal/decimal
PCriar função
EnterSeguir branch/chamada
EscapeVoltar na navegação
Shift+F12Visualização de strings
Ctrl+OAbrir
Ctrl+SSalvar
Ctrl+,Configurações
Ctrl+FPesquisar
Alt+BPesquisa binária
Ctrl+Z/YDesfazer/Refazer
Ctrl+Shift+SGerar assinatura

Todos os atalhos de teclado são personalizáveis pelas Configurações.

Compilação

Requer CMake 3.25+, vcpkg, compilador C++20 (MSVC 2022+, GCC 13+, ou 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

Para linkagem estática (exe único, sem DLLs):

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

Dependências (obtidas via vcpkg): imgui (docking), glfw, zydis, capstone, spdlog, fmt, zlib, lua, stb.

Plataformas

PlataformaStatus
Windows x64Suporte total (UI + MCP)
Linux x64Compila, suporte total (UI + MCP)
macOS (Intel + Apple Silicon)Compila, suporte total (UI + MCP)

Status

Desenvolvimento ativo. Funcional para análise estática em todos os formatos suportados. O decompilador produz saída C legível para x86/x64 e ARM64. A recuperação de classes RTTI funciona em binários C++ não ofuscados.

Roteiro:

  • Integração de depurador (anexar, breakpoints, anti-detecção)
  • Análise colaborativa
  • Mais melhorias no decompilador

Licença

MIT

Categorias