Skip to content

Repository files navigation

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:

Platform Asset (archives only)
Windows x64 ASM2HEX-win64.zip (extract → ASM2HEX.exe)
Linux x64 ASM2HEX-linux-x64.tar.xz
macOS arm64 ASM2HEX-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.

About

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.

Topics

Resources

Stars

24 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages