# WingAsm **Repository Path**: wing-cloud/WingAsm ## Basic Information - **Project Name**: WingAsm - **Description**: 一个为 WingHexExplorer2 提供汇编和反汇编支持的插件 - **Primary Language**: C++ - **License**: AGPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-01-29 - **Last Updated**: 2025-12-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

WingHexExplorer2.WingAsm

WingAsm

WingAsm

作者 开源协议

- 开源不易,给个 Star 或者 [捐助](#捐助) 吧 ## WingHexAsm   `WingHexAsm`是一个羽云十六进制编辑器插件,它具有汇编和反汇编的能力,基于`keystone`和`capstone`引擎框架。 ### 协议   本插件仓库将采用`AGPL-3.0`协议,不得将该插件代码用于协议之外的用途。 ## 说明   以下是对该插件情况的一些说明: 1. 汇编高亮仅支持 x86_64 / MIPS / ARM64 / PowerPC ,如果需要支持其他的请 PR,因为我使用的也就是 x86_64 多一些,所有的高亮汇编都是是查文档整理的。 2. 汇编指令繁多,所以高亮的结果也可能不全,欢迎 PR 补充。 3. 目前该插件语言仅支持简体中文和繁体中文(繁体中文使用工具转化),如果支持其他语言可 PR 。 4. 如果该插件不支持一些架构,但`keystone`和`capstone`里面有,欢迎 PR 。   该插件提供的服务: ```cpp WING_SERVICE QByteArray doAsm(const WingHex::SenderInfo &sender, const QString &code, int arch, int format); WING_SERVICE QString doDisasm(const WingHex::SenderInfo &sender, const QByteArray &code, int arch, int format); ```   前者是汇编函数,后者是反汇编函数。`arch`和`format`是两类枚举;`doAsm`的`arch`和`doDisasm`的`arch`分别对应`WingEngine::KSArch`和`WingEngine::CSArch`。`format`对应`WingEngine::AsmFormat`。如果你实在记不住枚举值,你可以拷贝里面的内容,注意保持和插件版本一致。 ```cpp WING_SERVICE int getLastAsmError(const WingHex::SenderInfo &sender); WING_SERVICE int getLastDisasmError(const WingHex::SenderInfo &sender); ```   这两个函数是获取执行`doAsm`和`doDisasm`这两个函数最后的错误返回值,这两个函数比较特殊,不同插件的最后调用结果不会互相影响。   与此同时,插件也提供了脚本服务:

服务

  前两个是分别对应的函数。同时注册了三个枚举以提高可读性,`WingEngine::KSArch`和`WingEngine::CSArch`分别对应`AsmArch`和`DisasmArch`。   如下是脚本函数使用示例:

示例

## 效果图

效果图

WingAsm

## 捐助 > If you are not Chinese, you can use [Afadian](https://afdian.com/a/wingsummer) to support me. **

您的每一份支持都将是本项目推进的强大动力,十分感谢您的支持

**

捐助

感谢支持