suifei 发表于 2024-5-22 23:17

ASM2HEX ARM指令转换工具

本帖最后由 suifei 于 2024-5-24 09:44 编辑

ASM2HEX是一款用Go语言编写的,基于Fyne框架开发的汇编语言与十六进制机器码相互转换的图形化工具。它支持ARM64、ARM和Thumb三种指令集。

## 最新更新

- **新增加 `ASM2HEX_WIN_X64_Static_v1.1.zip` 不需要额外的依赖,绿色单文件执行(Windows 8 x64 or High)**
- **新增加 `ASM2HEX_MacOS_Arm64_v1.1.zip` 版本,如果解压后运行受限,请尝试输入 `xattr -cr /Applications/ASM\ to\ HEX\ Converter.app`(macOS m1,m2)**
- **优化 Windows ,macOS 版本 Releases, 截图更新到最新版本**
- **优化了用户界面布局,增加了更多的垂直空间,使汇编代码和转换结果能够显示更多内容。**
- **在 "关于" 对话框中添加了 Fyne、Capstone 和 Keystone 的链接和图标,方便用户快速访问这些项目的网站。**
- **改进了状态栏的显示,增加了 "清除" 按钮的重要性,使其更加醒目。**
- **修复了一些小的 bug,提高了程序的稳定性。**

## 安装方法

解压后运行。

- ASM2HEX_MacOS_Arm64_v1.1.zip (Macos Arm 处理器 m1,m2,m3 版本)
- ASM2HEX_WIN_X64_Static_v1.1.zip (Windows x64 单文件)
- ASM2HEX_WIN_X64_v1.1.zip (Windows x64 主程序+dll)
- msys64.7z(Windows 10 的编译环境,请解压到 D 盘根目录,运行`D:\msys64\mingw64.exe`进入编译环境,切换到源码目录内,运行'make',先编译`lib`,再`build`)

## 功能特点

- 支持ARM64、ARM和Thumb指令集的汇编语言与十六进制机器码的双向转换
- 可自定义偏移地址,支持大端和小端两种字节序
- 使用Keystone作为汇编引擎,Capstone作为反汇编引擎,转换准确可靠
- 跨平台支持,可在Windows、macOS操作系统上运行(目前只完成了这两个平台的编译发布)
- 完全离线运行,无任何三方依赖,源代码开放

## 使用说明






1. 在左侧的输入框中输入汇编指令或十六进制机器码。多条指令/数据可以分行输入。
2. 在偏移量输入框中可以指定初始地址的偏移量。偏移量需要以十六进制格式输入。
3. 点击"0x"选框,可以控制十六进制机器码是否包含"0x"前缀。
4. 点击"GDB/LLDB"选框可以控制字节序,勾选表示使用大端字节序,未勾选则使用小端字节序。
5. 点击"转换"按钮,ASM2HEX会自动完成转换,并将结果实时显示在右侧的ARM64、ARM和Thumb三个选项卡中。
6. 可以通过"清除"按钮清空输入输出,方便进行下一次转换。
7. "切换模式"按钮可以切换工具当前的工作模式。默认模式是汇编转十六进制,切换后即成为十六进制转汇编模式。
8. 单击每个选项卡右上角的复制图标,即可将该选项卡的内容复制到剪贴板,方便使用。


## v1.1 更新内容

- 优化了用户界面布局,增加了更多的垂直空间,使汇编代码和转换结果能够显示更多内容。
- 在 "关于" 对话框中添加了 Fyne、Capstone 和 Keystone 的链接和图标,方便用户快速访问这些项目的网站。
- 改进了状态栏的显示,增加了 "清除" 按钮的重要性,使其更加醒目。
- 修复了一些小的 bug,提高了程序的稳定性。

## 致谢
ASM2HEX的开发得益于以下开源项目:

- Fyne: 基于Go的跨平台图形界面框架
- Keystone: 轻量级的多架构汇编引擎
- Capstone: 多架构支持的反汇编引擎


感谢这些优秀项目的贡献者和维护者!

## 下载地址

链接:https://pan.baidu.com/s/1EiXuE9UDfQrAtf4heFINHQ?pwd=52pj
分流:https://pan.baidu.com/s/1TgSNXi3-DZxg5lqaJiBeyA?pwd=8888



suifei 发表于 2024-5-27 20:21

本帖最后由 suifei 于 2024-5-27 22:15 编辑

## v1.2.0 版本更新说明
### 新增功能
- 增加了对多种指令集,架构汇编、反汇编的支持,现在可以在主界面上选择。
- 支持多种汇编指令集,包括 ARM、ARM64、MIPS、X86、PPC、SPARC、SystemZ、Hexagon。
- 提供了统一的接口,可以方便地进行汇编和反汇编操作。




### 改进
- 优化了代码结构,提高了代码的可读性和可维护性。
- 改进了错误处理机制,提供更友好的错误提示信息。
- 发布了 github actions 自动化构建流程,保证了代码质量和稳定性。

## 支持的汇编指令集

下表列出了当前版本支持的汇编指令集以及对应的汇编器(Keystone)和反汇编器(Capstone)的支持情况:

| 指令集   | 架构       | 汇编(Keystone) | 反汇编(Capstone) |
|------------|------------|----------------|-----------------|
| ARM      | ARM      | ✓            | ✓               |
| ARM64      | ARM64      | ✓            | ✓               |
| MIPS       | MIPS       | ✓            | ✓               |
| X86      | X86      | ✓            | ✓               |
| PPC      | PPC      | ✓            | ✓               |
| SPARC      | SPARC      | ✓            | ✓               |
| SystemZ    | SYSTEMZ    | ✓            | ✓               |
| Hexagon    | HEXAGON    | ✓            | ✗               |
| EVM      | EVM      | ✓            | ✓               |
| XCORE      | XCORE      | ✗            | ✓               |
| M68K       | M68K       | ✗            | ✓               |
| TMS320C64X | TMS320C64X | ✗            | ✓               |
| M680X      | M680X      | ✗            | ✓               |
| MOS65XX    | MOS65XX    | ✗            | ✓               |
| WASM       | WASM       | ✗            | ✓               |
| BPF      | BPF      | ✗            | ✓               |
| RISCV      | RISCV      | ✗            | ✓               |
| SH         | SH         | ✗            | ✓               |
| TriCore    | TRICORE    | ✗            | ✓               |

✓ 表示支持该指令集,✗ 表示不支持该指令集。

### 修复
- 修复了一些潜在的 bug 和稳定性问题。

### 其他
- 更新了文档和示例代码,方便用户快速上手使用。
- 希望这次更新能够为用户带来更好的使用体验,如果您在使用过程中遇到任何问题或有任何建议,欢迎向我们反馈。

下载地址见原帖,地址不变(上传文件为: ASM2HEX_WIN_X64_V1.2.zip)

suifei 发表于 2024-5-28 02:31

Keystone 的 RISCV 架构支持,目前还有问题,不知道是不是调用时存在的问题还是这个库还不完善,通过对比 Compiler Explorer发现汇编的指令完全不一致,还需检查问题原因。
https://github.com/suifei/asm2hex/tree/RISCV32
谁能帮忙看看?

tcog 发表于 2024-5-23 11:48

多谢谢分享

xiaozitwo 发表于 2024-5-23 16:32

嘿,这个东西好,正需要

yilei163 发表于 2024-5-23 17:47

谢谢楼主分享!!!{:1_918:}

gunxsword 发表于 2024-5-23 18:10

感谢分享!

xiaossl 发表于 2024-5-24 22:47

谢谢分享

amn2007 发表于 2024-5-25 12:38

不错的软件

158025 发表于 2024-5-25 13:24


多谢谢分享{:1_927:}

158025 发表于 2024-5-25 13:25


谢谢分享{:1_927:}

ypcok 发表于 2024-5-26 12:51

非常感谢!
有没有转化mips指令的 ?
页: [1] 2 3
查看完整版本: ASM2HEX ARM指令转换工具