JerryLinLinLin/rizin-win64-bundle

GitHub: JerryLinLinLin/rizin-win64-bundle

一个便携的 Windows x64 Rizin 构建包,预集成三大反编译器、YARA 扫描和 FLIRT 签名库,解决逆向分析环境搭建繁琐的问题。

Stars: 0 | Forks: 0

# Rizin Windows 逆向工程工具包 *便携、开箱即用的 Windows 逆向工程 Rizin。* 这是一个 Windows x64 版本的 Rizin 构建包,内置了三个反编译器插件(rz-ghidra、jsdec 和 rz-retdec)、rz-libyara 以及官方的 Rizin FLIRT 签名数据库。 | 反编译器 | 命令 | 输出风格 | | --- | --- | --- | | `rz-ghidra` | `pdg` | Ghidra 风格的 C 伪代码 | | `jsdec` | `pdd` | 轻量级,寄存器级别的 C 伪代码 | | `rz-retdec` | `pdz` | RetDec 生成的 C 代码 | 所有内容都打包为一个单独的压缩文件 `rizin-windows-x64-0.8.2-bundle.zip`:下载它,将其解压到任意位置,把 `bin` 目录添加到你的 `PATH` 环境变量中,你就可以使用带有全部三个反编译器、YARA 扫描以及内置签名库的 Rizin 了——无需你自己编译任何插件。 ## 目录 - [快速开始](#quick-start) - [环境要求](#requirements) - [为何使用此构建包](#why-use-this-build) - [包含的组件](#included-components) - [自定义修改](#whats-customized) - [示例命令](#example-commands) - [Agent 技能](#agent-skill) - [许可证](#license) ## 快速开始 从本代码库下载 `rizin-windows-x64-0.8.2-bundle.zip` 并将其解压到任意位置。它会解压成一个单独的 `rizin\` 文件夹。然后,将该文件夹下的 `bin` 目录添加到你的 `PATH` 环境变量中——请将 `C:\path\to\rizin\bin` 替换为你实际的解压路径。 对于你的用户账户永久生效(应用于之后新打开的终端): ``` [Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path", "User") + ";C:\path\to\rizin\bin", "User") ``` 或者仅对当前 shell 会话生效(不会保存): ``` $env:PATH = "C:\path\to\rizin\bin;$env:PATH" ``` 然后检查它是否正常工作(如果你使用了永久生效的命令,请先打开一个**新**终端): ``` rizin -v ``` 确认反编译器和 YARA 插件已成功加载: ``` rizin -q -N -c "pdg?" -c "pdd?" -c "pdz?" -c "yara?" -c "q" ``` ## 环境要求 - Windows x64 - Microsoft Visual C++ Redistributable / 运行时环境,它提供了所需的 DLL 文件: `MSVCP140.dll`、`VCRUNTIME140.dll` 和 `VCRUNTIME140_1.dll` ## 为何使用此构建包 三个反编译器并存在一个便携的 Rizin 环境中,因此你可以交叉验证结果,而无需切换工具或维护三个独立的插件编译环境: - **`pdg` (Ghidra)** —— 首选;它是通用任务的默认选择。 - **`pdd` (jsdec)** —— 当你需要快速、轻量级的处理时使用。 - **`pdz` (RetDec)** —— 当另外两个反编译器结果有分歧时,可作为参考意见。 这使其成为日常 Windows 恶意软件分析和逆向工程工作的实用工具包,因为在这些场景中,快速对比不同反编译器的结果最为重要。 `rz-libyara` 在同一个 Rizin 会话中增加了基于规则的扫描功能,因此你可以应用本地 YARA 规则,并直接跳转到生成的 `yara.match` 标志处。 ## 包含的组件 | 组件 | 命令 | 源码 | Commit | | --- | --- | --- | --- | | Rizin | `rizin` | [rizinorg/rizin](https://github.com/rizinorg/rizin) | [`5a611ee`](https://github.com/rizinorg/rizin/commit/5a611eee2999d312317ff90d600e37dde0f58992) | | rz-ghidra | `pdg`, `pdgo`, `pdgj`, `pdgs` | [rizinorg/rz-ghidra](https://github.com/rizinorg/rz-ghidra) | [`c40f616`](https://github.com/rizinorg/rz-ghidra/commit/c40f61621b4561da8da538ce3b12cd8892a59a93) + 本地 Windows 便携性补丁 | | jsdec | `pdd`, `pddo`, `pddj` | [rizinorg/jsdec](https://github.com/rizinorg/jsdec) | [`068f799`](https://github.com/rizinorg/jsdec/commit/068f799e5e362bf10fdba8bfdf8c3274fc11f344) | | rz-retdec | `pdz`, `pdzo`, `pdzj` | [rizinorg/rz-retdec](https://github.com/rizinorg/rz-retdec) | [`4ac6b29`](https://github.com/rizinorg/rz-retdec/commit/4ac6b293553d7f5f00574e4dca4c21b799db63e1) + 本地 Windows/Rizin API 补丁 | | rz-libyara | `yarac`, `yarad`, `yaral`, `yaraM`, `yaras`, `yaram` | [rizinorg/rz-libyara](https://github.com/rizinorg/rz-libyara) | [`d00e827`](https://github.com/rizinorg/rz-libyara/commit/d00e827c611334bf6320198ca21e1b4124b77fe3) + 本地 Rizin 0.8.x API 补丁 | | Rizin sigdb | `Fl`, `Fa`, `Fs`, `Ff` | [rizinorg/sigdb](https://github.com/rizinorg/sigdb) | [`4addbed`](https://github.com/rizinorg/sigdb/commit/4addbed50cd3b50eeef5a41d72533d079ebbfbf8) | ## 自定义修改 这不仅仅是解压原版 Rizin 那么简单。它包含了几项针对 Windows 的打包修复: - **便携的 SLEIGH 解析** —— `rz-ghidra` 会相对于解压后的文件夹加载其 SLEIGH 规范 (`lib\rizin\plugins\rz_ghidra_sleigh`),因此即使文件夹被移动,也不需要设置全局的 `SLEIGHHOME` 环境变量。 - **DLL 加载修复** —— `core_ghidra.dll` 也被放置在 `bin` 目录中,以便在 加载 `asm_ghidra.dll` 和 `analysis_ghidra.dll` 时,Windows 能够正确解析它。 - **重构 rz-retdec** —— 针对 Rizin 0.8.x API 以及 MSVC/Windows 链接进行了补丁修复。 - **内置并存的 OpenSSL** —— 为 `rz-retdec` 保留了 OpenSSL 1.1 运行时 DLL,同时 为 `rz-libyara` 的哈希和 Authenticode 支持保留了 OpenSSL 3.5 运行时 DLL: `libcrypto-1_1-x64.dll`、`libssl-1_1-x64.dll`、`libcrypto-3-x64.dll` 和 `libssl-3-x64.dll`。 - **集成 rz-libyara** —— 编译为带有嵌入式静态 YARA 的发行版 `/MD` 插件 ([VirusTotal/yara](https://github.com/VirusTotal/yara) commit [`a7f351a`](https://github.com/VirusTotal/yara/commit/a7f351aab0fbad6713e9091b8e012cc7e870ec76))。 一个本地兼容性补丁在没有较新的 `core->plugin_contexts` API 的情况下存储了插件元数据,因此它可以在 Rizin 0.8.2 上加载。 YARA OpenSSL/哈希/Authenticode 路径通过 FireDaemon OpenSSL 3.5.7 LTS 启用 ([下载页面](https://www.firedaemon.com/download-firedaemon-openssl)),通过 SHA-256 校验为 `2591459A06A6DF2D2E2B23B02A28D7C180B95C02FB4965099A708B7365A74014`。 - **内置 FLIRT 签名** —— 官方的 Rizin 签名数据库包含在 `share\sigdb` 路径下,因此 `Fl` 和 `Fa` 无需单独下载其他数据库即可使用。 - **重定位测试** —— 整个 `rizin` 文件夹已被移动到一个新路径并重新测试,以确认每个插件仍然正常工作。 ## 示例命令 基础的 Rizin 分析: ``` aaa # analyze everything (functions, refs, strings) afl # list the functions found s entry0 # seek to the entrypoint pdf # disassemble the current function ``` Ghidra 反编译器 (`rz-ghidra`): ``` pdg # decompile the current function pdgo # decompile side by side with offsets pdgj # emit the decompiled function as JSON pdgs # list the loaded SLEIGH languages ``` jsdec (`pdd`): ``` pdd # decompile the current function pddo # decompile side by side with offsets pddj # emit the decompiled function as JSON ``` RetDec (`rz-retdec`): ``` pdz # decompile the current function pdzo # decompile side by side with offsets pdzj # emit the decompiled function as JSON ``` YARA (`rz-libyara`): ``` yaral C:/rules/example.yara # parse a .yar/.yara file and apply its rules yaraM # list all matches found fs yara.match # switch to the yara.match flag space fl # list the match flags ``` FLIRT 签名: ``` aaa # run analysis first Fl # list the signatures available in the bundled sigdb Fa # apply matching signatures from the sigdb fs flirt # switch to the flirt flag space fl # list the matched library-function flags ``` ## Agent 技能 这个代码库还附带了一个 Claude Code **技能**,它可以教导 AI agent 如何驱动这个工具包进行逆向工程:[`skills/rizin-windows-re/SKILL.md`](skills/rizin-windows-re/SKILL.md)(同时也打包为 [`skills/rizin-windows-re.skill`](skills/rizin-windows-re.skill))。 这是一份简明的备忘录——介绍了如何以非交互方式运行 rizin,按用途分组的最有用命令(分类、导入/导出、分析、函数、交叉引用、反汇编、三个反编译器、YARA),在缺少符号时应该使用哪个反编译器以及如何进行交叉引用,还有额外的 Windows PE/驱动程序提示。命令参考是通用的,因此它适用于任何 rizin 能解析的二进制文件——不仅限于 Windows。 **使用方法:**将 `rizin-windows-re` 文件夹复制到 Claude Code 加载的技能目录中(例如项目的 `.claude/skills/` 或你的用户技能目录),或者导入 `.skill` 包。这样,在进行逆向工程请求时(例如“分析此二进制文件”、“反编译此函数”),agent 就会自动应用它(前提是工具包的 `bin` 已在 `PATH` 中)。 ## 许可证 此工具包重新分发了一些上游项目,每个项目均保留其各自的许可证——例如,Rizin 采用 LGPL-3.0,Ghidra 反编译器采用 Apache-2.0,RetDec 采用 MIT,YARA 采用 BSD-3-Clause。请查阅[包含的组件](#included-components)下链接的每个上游代码库,以获取权威的许可条款。[自定义修改](#whats-customized)中描述的本地 Windows 便携性补丁,按照与其所修改项目相同的条款提供。
标签:Cloudflare Workers, Rizin, YARA, 二进制分析, 云安全运维, 云资产可视化, 云资产清单, 反编译器, 安全意识培训, 安全测试工具, 逆向工程