https://github.com/suifei/asm2hex2
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.
https://github.com/suifei/asm2hex2
capstone cpp decompiler dissassembler keystone opcodes tools wxwidgets
Last synced: 3 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/suifei/asm2hex2
- Owner: suifei
- Created: 2024-11-09T04:23:32.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-03T07:54:06.000Z (7 months ago)
- Last Synced: 2025-09-03T09:29:40.375Z (7 months ago)
- Topics: capstone, cpp, decompiler, dissassembler, keystone, opcodes, tools, wxwidgets
- Language: C++
- Homepage:
- Size: 31.3 MB
- Stars: 10
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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](https://www.keystone-engine.org) and [Capstone Engine](https://www.capstone-engine.org).




## 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


## 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
```bash
mkdir build
cd build
cmake ..
cmake --build .
```
### macOS
```bash
mkdir build
cd build
cmake ..
ninja
```
## Dependencies
- [wxWidgets](https://www.wxwidgets.org/): Cross-platform GUI toolkit
- [Keystone Engine](https://www.keystone-engine.org): Assembler framework
- [Capstone Engine](https://www.capstone-engine.org): Disassembler framework
## License
This project is licensed under the MIT License - see the [LICENSE](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](https://github.com/suifei/asm2hex/issues).