asm2hex2

ASM2HEX 的 C++ 重构版,以 wxWidgets、Keystone 和 Capstone 支持多架构指令转换。

asm2hex2 项目封面或真实界面
C++主要技术栈
26GitHub Stars
7Forks
1145索引文件
未声明许可标记
2026-10-26最近更新

01 / PROJECT OVERVIEW

项目研究解读

ASM2HEX 的 C++ 重构版,以 wxWidgets、Keystone 和 Capstone 支持多架构指令转换。 本仓库以 C++ 为主要技术栈,当前快照索引 1145 个文件。报告依据README 与目录结构整理,重点呈现项目用途、工程结构和复用方式,不把宣传描述等同于验证结论。

capstonecppdecompilerdissassemblerkeystoneopcodestoolswxwidgets

02 / CORE CAPABILITIES

值得关注的能力

  1. 01

    围绕“ASM2HEX 的 C++ 重构版,以 wxWidgets、Keystone 和 Capstone 支持多架构指令转换”提供公开实现或研究资料

  2. 02

    以 C++ 为主,保留 1145 个可检查仓库文件

  3. 03

    提供原始 GitHub 链接、目录导览和本地研究快照,便于复核与二次开发

03 / ENGINEERING

工程与仓库结构

仓库以 C++ 为主要实现语言,研究快照包含 1145 个文件、9 个主要顶层入口。已提供 README 作为使用与能力说明。 项目最近更新时间为 2026-10-26,许可标记为 未在 API 中声明。

01CMakeLists.txt

项目文件与实现资料

02DEVLOG.md

项目文件与实现资料

03README.md

项目文件与实现资料

04RELEASE_NOTES_v1.0.0.md

项目文件与实现资料

05RELEASE_NOTES_v1.0.1.md

项目文件与实现资料

06RELEASE_NOTES_v1.0.2.md

项目文件与实现资料

04 / USE CASES

适合用在哪里

  • 学习项目设计与实现
  • 评估后用于二次开发
  • 作为相关领域的研究参考

05 / QUICK START

从仓库开始

以下命令摘自项目 README 或根据仓库地址生成。请先阅读源仓库的安装要求、许可和脚本,再在自己的环境中运行。

# Windows (MinGW)
powershell -File scripts/build_win_static.ps1

# Linux (builds wx/keystone/capstone if missing)
./scripts/build_linux_static.sh

06 / REPOSITORY MAP

目录证据导览

这里列出快照中的前 1145 个索引文件中的代表路径,帮助你快速定位源码、文档、测试与资源。

  • .github/workflows/release-binaries.yml
  • .gitignore
  • .vscode/c_cpp_properties.json
  • .vscode/launch.json
  • .vscode/settings.json
  • .vscode/tasks.json
  • CMakeLists.txt
  • DEVLOG.md
  • README.md
  • RELEASE_NOTES_v1.0.0.md
  • RELEASE_NOTES_v1.0.1.md
  • RELEASE_NOTES_v1.0.2.md
  • RELEASE_NOTES_v1.0.3.md
  • WXWIDGETS-VSCODE.md
  • dep/capstone/include/capstone/arm.h
  • dep/capstone/include/capstone/arm64.h
  • dep/capstone/include/capstone/bpf.h
  • dep/capstone/include/capstone/capstone.h
  • dep/capstone/include/capstone/evm.h
  • dep/capstone/include/capstone/m680x.h
  • dep/capstone/include/capstone/m68k.h
  • dep/capstone/include/capstone/mips.h
  • dep/capstone/include/capstone/mos65xx.h
  • dep/capstone/include/capstone/platform.h
  • dep/capstone/include/capstone/ppc.h
  • dep/capstone/include/capstone/riscv.h
  • dep/capstone/include/capstone/sh.h
  • dep/capstone/include/capstone/sparc.h
  • dep/capstone/include/capstone/systemz.h
  • dep/capstone/include/capstone/tms320c64x.h
  • dep/capstone/include/capstone/tricore.h
  • dep/capstone/include/capstone/wasm.h
  • dep/capstone/include/capstone/x86.h
  • dep/capstone/include/capstone/xcore.h
  • dep/capstone/include/platform.h
  • dep/capstone/include/windowsce/intrin.h
  • dep/capstone/include/windowsce/stdint.h
  • dep/keystone/include/keystone/arm.h
  • dep/keystone/include/keystone/arm64.h
  • dep/keystone/include/keystone/evm.h
  • dep/keystone/include/keystone/hexagon.h
  • dep/keystone/include/keystone/keystone.h
  • dep/keystone/include/keystone/mips.h
  • dep/keystone/include/keystone/ppc.h
  • dep/keystone/include/keystone/sparc.h
  • dep/keystone/include/keystone/systemz.h
  • dep/keystone/include/keystone/x86.h
  • dep/lib/osx/README.md
  • dep/lib/osx/libcapstone.a
  • dep/lib/osx/libkeystone.a
  • dep/lib/win/README.md
  • dep/lib/win/libcapstone.a
  • dep/lib/win/libkeystone.a
  • dep/mac
  • dep/win/include/msvc/wx/setup.h
  • dep/win/include/wx/aboutdlg.h
  • dep/win/include/wx/accel.h
  • dep/win/include/wx/access.h
  • dep/win/include/wx/activityindicator.h
  • dep/win/include/wx/addremovectrl.h
  • dep/win/include/wx/affinematrix2d.h
  • dep/win/include/wx/affinematrix2dbase.h
  • dep/win/include/wx/afterstd.h
  • dep/win/include/wx/android/chkconf.h
  • dep/win/include/wx/android/config_android.h
  • dep/win/include/wx/android/setup.h
  • dep/win/include/wx/anidecod.h
  • dep/win/include/wx/animate.h
  • dep/win/include/wx/animdecod.h
  • dep/win/include/wx/any.h
  • dep/win/include/wx/anybutton.h
  • dep/win/include/wx/anystr.h
  • dep/win/include/wx/app.h
  • dep/win/include/wx/appprogress.h
  • dep/win/include/wx/apptrait.h
  • dep/win/include/wx/archive.h
  • dep/win/include/wx/arrimpl.cpp
  • dep/win/include/wx/arrstr.h
  • dep/win/include/wx/artprov.h
  • dep/win/include/wx/atomic.h
  • dep/win/include/wx/aui/aui.h
  • dep/win/include/wx/aui/auibar.h
  • dep/win/include/wx/aui/auibook.h
  • dep/win/include/wx/aui/barartmsw.h
  • dep/win/include/wx/aui/dockart.h
  • dep/win/include/wx/aui/floatpane.h
  • dep/win/include/wx/aui/framemanager.h
  • dep/win/include/wx/aui/tabart.h
  • dep/win/include/wx/aui/tabartgtk.h
  • dep/win/include/wx/aui/tabartmsw.h

07 / SOURCE NOTES

README 原文摘录

保留原始说明便于复核。中文研究结论以当前快照为依据,后续变化请以 GitHub 仓库为准。

ASM2HEX Converter

The new version is refactored using C++ (cpp), while the original version was developed using Golang. A cross-platform GUI tool for converting between Assembly and Machine Code (Hex), powered by Keystone Engine and Capstone Engine.

[图片] Screenshot [图片] Screenshot [图片] Screenshot [图片] Screenshot

Features

  • Bi-directional Conversion: Convert between Assembly and Machine Code (Hex)
  • Multi-Architecture Support:
  • x86/x64
  • ARM/ARM64
  • MIPS
  • PowerPC
  • SPARC
  • SystemZ
  • And more...
  • Detailed Instruction Information: View detailed instruction analysis when disassembling
  • Syntax Highlighting: For both Assembly and Hex code
  • Cross-Platform: Supports Windows and macOS/Linux
  • User-Friendly Interface: Built with wxWidgets for native look and feel

[图片] Screenshot [图片] Screenshot

Usage

  1. Select your target architecture and mode
  2. Choose conversion direction (ASM to HEX or HEX to ASM)
  3. Enter your input code
  4. Click "Convert" to see the results
  5. View detailed instruction information in verbose mode
Options
  • 0x: Display hex values with "0x" prefix
  • Verbose: Show detailed instruction information
  • GDB/LLDB: Use GDB/LLDB syntax style
  • SKIPDATA: Continue disassembling after invalid instructions

Building from Source

Prerequisites
  • CMake (3.x or later)
  • C++ Compiler with C++11 support
  • wxWidgets (3.x)
  • Keystone Engine
  • Capstone Engine
Windows
mkdir build
cd build
cmake ..
cmake --build .
macOS
mkdir build
cd build
cmake ..
ninja
Linux
  1. Build or place a static wxWidgets tree under dep/linux/ (see doc/linux.pdf).
  2. Install GTK3 and X11 development packages. Optionally install libgspell-1-dev if your wx build expects gspell.
  3. Configure and build:
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .

Linux CMake notes (fixed in v1.0.1 / issue #2): src/cstool is on the include path; wx static archives are linked; gspell-1 is linked when found via pkg-config; Xxf86vm is linked.

Static prebuilt binaries (v1.0.2+)

Release assets ship static-linked executables:

PlatformAsset (archives only)
Windows x64**ASM2HEX-win64.zip** (extract → ASM2HEX.exe)
Linux x64ASM2HEX-linux-x64.tar.xz
macOS arm64ASM2HEX-macos-arm64.tar.xz

Bare .exe is not attached to Releases (zip only), which reduces browser/SmartScreen noise on download.

Windows Defender note: unsigned MinGW static builds may occasionally be flagged by ML heuristics (e.g. Trojan:Win32/Sabsik.FL.A!ml). This is a known class of false positives. Prefer GitHub Release zips; v1.0.3+ embeds version info/manifest and avoids full PE strip. See RELEASE_NOTES_v1.0.3.md.

Local static builds:

# Windows (MinGW)
powershell -File scripts/build_win_static.ps1

# Linux (builds wx/keystone/capstone if missing)
./scripts/build_linux_static.sh

Dependencies

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Keystone Engine team
  • Capstone Engine team
  • wxWidgets team
  • All contributors and supporters

Author

suifei (c3VpZmUgQGdtYWlsIGRvdGNvbQ==)

QQ group:555354813

Contributing

Contributions are welcome! Please feel free to submit pull requests.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Support

If you encounter any issues or have questions, please open an issue.