r4ruk/mkYARA-Ghidra

GitHub: r4ruk/mkYARA-Ghidra

mkYARA-Ghidra 是一款 Ghidra 扩展,能够基于反汇编代码自动生成 YARA 规则,并对可变操作数进行智能通配处理。

Stars: 0 | Forks: 0

# mkYARA for Ghidra 这是 [fox-it/mkYARA](https://github.com/fox-it/mkYARA) IDA 扩展的 Ghidra 版本 —— 直接从反汇编列表中选定的字节生成 YARA 规则,并对可变操作数(如内存地址、栈偏移和调用目标)进行操作码感知的自动通配处理。 该插件最初由 Jelle Vergeer / Fox-IT 开发为 IDA Pro 插件,此移植版本将相同的功能原生引入 Ghidra,既可以作为可安装的扩展(右键上下文菜单),也可以作为独立脚本使用。 ## 安装说明 ### 扩展(推荐) 1. 从 [Releases](../../releases) 页面下载最新版本的 zip 文件 2. 在 Ghidra 的 **Project Window** 中:**File → Install Extensions → 绿色 + 按钮** 3. 选择下载的 zip 文件 4. 重启 Ghidra 5. 在 CodeBrowser 中:**File → Configure** → 找到并启用 **mkYARAPlugin** 现在,mkYARA 子菜单将永久出现在 Listing 视图的右键上下文菜单中。 ### 独立脚本 如果你不想安装扩展,可以将 `script/mkYARA.java` 复制到你的 `~/ghidra_scripts/` 目录中。然后在 Ghidra 中: 1. **Window → Script Manager** 2. 在 **mkYARA** 类别下找到 **mkYARA** 3. 可选:勾选 **In Tool** 以将其添加到 Tools 菜单并绑定到 **Ctrl+Y** 脚本版本的功能完全相同,但每次都需要从 Script Manager 或 Tools 菜单手动运行。 ## 使用方法 1. 在 **Listing** 中选择一段字节范围,或在 **Decompile** 视图中选择伪代码 2. 右键点击 → **mkYARA** → 选择一个模式(扩展方式),或者(如果仅添加了脚本)从 **Tools → mkYARA** / **Ctrl+Y** 运行(脚本方式) 3. 选择通配模式并输入规则名称 4. 查看、编辑、复制到剪贴板或保存生成的规则 ## 通配模式 | 模式 | 行为 | 用例 | |------------|-----------------------------------------------------|---------------------------------------| | **Normal** | 对位移操作数和内存地址进行通配处理 | 通用代码签名 | | **Loose** | 对所有操作数字节进行通配处理,仅保留操作码 | 最大灵活性,家族检测 | | **Strict** | 仅对 call/jmp 目标地址进行通配处理 | 精确匹配特定常量| | **Data** | 无通配处理 - 原始十六进制字节 | 数据模式、字符串、魔术字节 | ## 输出示例 ``` rule emotet_payload { meta: generated_by = "mkYARA-Ghidra" date = "2025-06-15 10:30" mode = "normal" hash = "a1b2c3d4e5f6..." strings: $code = { // 00401000 PUSH EBP // 00401001 MOV EBP,ESP // 00401003 SUB ESP,0x20 // 00401006 MOV EAX,dword ptr [EBP + 0x8] // 00401009 CALL 0x00401100 55 8B EC 83 EC ?? 8B 45 ?? E8 ?? ?? ?? ?? } condition: $code } ``` ## 从源码构建 需要 Gradle 和 JDK 21+。 ``` cd mkYARA-Ghidra gradle -PGHIDRA_INSTALL_DIR=/path/to/ghidra_where_ghidraRun_is_located buildExtension ``` 可安装的 zip 文件将位于 `dist/` 中。按照上述说明通过 **File → Install Extensions** 进行安装。 ## 致谢 - 原版 [mkYARA](https://github.com/fox-it/mkYARA) 由 Jelle Vergeer / Fox-IT 开发 - 采用 GPLv3 许可,与原版相同
标签:AMSI绕过, Ghidra, IDA Pro, JS文件枚举, Wayback Machine, YARA, 二进制分析, 云安全监控, 云安全运维, 云资产可视化, 云资产清单, 代码片段识别, 反汇编, 后台面板检测, 域名枚举, 威胁情报, 威胁检测, 开发者工具, 恶意代码分析, 插件, 特征提取, 网络安全, 网络调试, 自动化, 规则生成, 逆向工程, 配置文件, 隐私保护, 静态分析