
네이티브 멀티 아키텍처 디스어셈블러 및 디컴파일러 - PE/ELF/Mach-O, x86/x64/ARM64, Lua 스크립팅, RTTI 복구
네이티브 멀티 아키텍처 디스어셈블러 겸 바이너리 분석 도구입니다. PE, ELF, Mach-O, .NET 바이너리를 x86, x64, ARM, ARM64, MIPS, PPC에서 지원합니다. C++20과 ImGui로 처음부터 구축되었습니다.
단일 정적 링크 실행 파일입니다. 설치 프로그램도, 런타임 종속성도 없습니다. 3MB 미만입니다.
| 형식 | 아키텍처 |
|---|---|
| PE (exe, dll, sys) | x86, x64 |
| ELF (so, o, 실행 파일) | x86, x64, ARM, ARM64, MIPS, PPC |
| Mach-O (dylib, 실행 파일, fat/universal) | x64, ARM64 |
| .NET (관리형 어셈블리) | CIL/IL 바이트코드 |
디스어셈블리: Zydis (x86/x64) + Capstone (ARM, ARM64, MIPS, PPC)
분석
디컴파일러
UI
스크립팅 및 플러그인
plugins/ 폴더에 .lua 파일을 드롭MCP 서버 (Model Context Protocol)
--mcp를 전달하여 서버 시작:
./build/Release/Hyperion --mcp (또는 플랫폼에 맞는 방법)사용자 지정
themes/ 폴더내보내기
안정성
모든 키 바인딩은 설정에서 사용자 지정할 수 있습니다.
CMake 3.25+, vcpkg, C++20 컴파일러(MSVC 2022+, GCC 13+, 또는 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
정적 링크(단일 exe, 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
종속성(vcpkg를 통해 설치): imgui (docking), glfw, zydis, capstone, spdlog, fmt, zlib, lua, stb.
| 플랫폼 | 상태 |
|---|---|
| Windows x64 | 완전 지원 (UI + MCP) |
| Linux x64 | 빌드 가능, 완전 지원 (UI + MCP) |
| macOS (Intel + Apple Silicon) | 빌드 가능, 완전 지원 (UI + MCP) |
활발히 개발 중입니다. 지원되는 모든 형식에서 정적 분석이 가능합니다. 디컴파일러는 x86/x64 및 ARM64에서 읽을 수 있는 C 출력을 생성합니다. RTTI 클래스 복구는 난독화되지 않은 C++ 바이너리에서 작동합니다.
로드맵:
MIT
| 키 | 동작 |
|---|
| G | 주소로 이동 |
| N | 이름 바꾸기 |
| ; | 주석 |
| X | 교차 참조 |
| F5 | 함수 디컴파일 |
| Space | 디스어셈블리/그래프 전환 |
| D | 데이터 정의 |
| A | 문자열 정의 |
| U | 정의 해제 |
| C | 코드로 강제 지정 |
| H | 16진수/10진수 전환 |
| P | 함수 만들기 |
| Enter | 분기/호출 따라가기 |
| Escape | 뒤로 탐색 |
| Shift+F12 | 문자열 뷰 |
| Ctrl+O | 열기 |
| Ctrl+S | 저장 |
| Ctrl+, | 설정 |
| Ctrl+F | 검색 |
| Alt+B | 바이너리 검색 |
| Ctrl+Z/Y | 실행 취소/다시 실행 |
| Ctrl+Shift+S | 시그니처 생성 |