# rabbitizer MIPS 指令解码器

> 使用 C 编写、完全不在堆上分配内存的 MIPS 指令解码器，同一仓库还提供 Python、C++ 和 Rust 绑定，目标是生成可匹配的汇编。它逐条解码指令字，重点支持 MIPS I 至 III，部分支持 MIPS IV，还能处理 N64 的 RSP、PlayStation 的 R3000 GTE、PSP 的 R4000 Allegrex 以及 PS2 的 R5900；提供指令有效性检查、按特征分组查询指令、可配置的伪指令与寄存器命名，以及用于自建指针和符号检测的小工具。匹配式反编译工具以它为基础：splat 和 spimdisasm 都把它列为 Python 依赖。

- 类型：工具
- 目标：二进制 · 游戏
- 类别：二进制分析库
- 关联：基础工具
- 来源复核于：2026-10-27
- 收录于：2026-11-03
- 原始资源：<https://github.com/Decompollaborate/rabbitizer>
- 一手来源：<https://github.com/Decompollaborate/rabbitizer/blob/724a49a5b4dbfb99f1a9e6992e63964fd29c90c8/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/rabbitizer/>
- 记录 JSON：<https://awesomerea.org/resources/rabbitizer/record.json>
- 英文版：[English](https://awesomerea.org/resources/rabbitizer/index.md)

## 使用条件与局限

- 审阅时最新稳定版为 1.16.2，于 2026-05-29 发布到 GitHub、PyPI 和 crates.io，与所审阅的 1.x 提交一致。2.0.0 预览系列（2.0.0-alpha.9，2026-05-20）由另一条 Rust 分支发布；splat 和 spimdisasm 都把版本限制在 2.0.0 以下。
- 可用 pip install rabbitizer 或 cargo add rabbitizer 安装。README 称最低需要 Python 3.9，而 pyproject.toml 仍声明 >=3.4；从源码构建 Python 绑定需要 Python 开发头文件。C 与 C++ 库使用 make 和 clang 构建（C11 与 C++17），Rust crate 声明 Rust 1.66.0。各语言绑定的指令表由 tables/ 中的模板生成，CI 会检查生成文件是否为最新。
- 输入为原始 32 位指令字，调用方需自行从自己的二进制中取出代码、选择 CPU 变体，并处理地址和符号。会展开为多条指令的伪指令明确不予支持；README 称输出应当可匹配，报告 RSP 输出经 armips 重新汇编后可得到匹配代码，并说明 MIPS IV 仅部分支持。
- GitHub Actions 在 Ubuntu 22.04 上以“警告视为错误”构建 C 代码，并运行构建信息、逻辑和指令检查；Python 单元测试在 Linux、macOS 和 Windows 上运行；tests/asm 收有 GTE、Allegrex 和 R5900 的汇编样例。README 的参考资料列表指向托管在别处的第三方 CPU 手册和文档。
- 采用 MIT 许可。

## 一手来源

1. <https://github.com/Decompollaborate/rabbitizer/blob/724a49a5b4dbfb99f1a9e6992e63964fd29c90c8/README.md>
2. <https://github.com/Decompollaborate/rabbitizer/blob/724a49a5b4dbfb99f1a9e6992e63964fd29c90c8/CHANGELOG.md>
3. <https://github.com/Decompollaborate/rabbitizer/blob/724a49a5b4dbfb99f1a9e6992e63964fd29c90c8/pyproject.toml>
4. <https://github.com/Decompollaborate/rabbitizer/blob/724a49a5b4dbfb99f1a9e6992e63964fd29c90c8/Cargo.toml>
5. <https://github.com/Decompollaborate/rabbitizer/blob/724a49a5b4dbfb99f1a9e6992e63964fd29c90c8/Makefile>
6. <https://github.com/Decompollaborate/rabbitizer/blob/724a49a5b4dbfb99f1a9e6992e63964fd29c90c8/.github/workflows/make.yml>
7. <https://github.com/Decompollaborate/rabbitizer/blob/724a49a5b4dbfb99f1a9e6992e63964fd29c90c8/.github/workflows/unit_tests_py.yml>
8. <https://github.com/Decompollaborate/rabbitizer/blob/724a49a5b4dbfb99f1a9e6992e63964fd29c90c8/.github/workflows/check_tables.yml>
9. <https://github.com/Decompollaborate/rabbitizer/blob/724a49a5b4dbfb99f1a9e6992e63964fd29c90c8/LICENSE>
10. <https://github.com/Decompollaborate/rabbitizer/releases/tag/1.16.2>
11. <https://pypi.org/project/rabbitizer/1.16.2/>
12. <https://crates.io/crates/rabbitizer/1.16.2>
13. <https://github.com/ethteck/splat/blob/7548b9771e6f8418507b23434187fb07741af6d4/pyproject.toml>
14. <https://github.com/Decompollaborate/spimdisasm/blob/4b5d4c68eeb9f9eae14b3bb713971433ae2c3c43/requirements.txt>

## 同分区更多条目：原生二进制

- [ghidrecomp 命令行 Ghidra 批量反编译工具](https://awesomerea.org/zh/resources/ghidrecomp/index.md) · 工具
- [Vivisect 二进制分析与调试框架](https://awesomerea.org/zh/resources/vivisect/index.md) · 工具
- [r2pipe radare2 多语言脚本接口](https://awesomerea.org/zh/resources/r2pipe/index.md) · 工具
- [GREASE 欠约束符号执行二进制分析工具](https://awesomerea.org/zh/resources/grease/index.md) · 工具
- [PLASMA 交互式反汇编器](https://awesomerea.org/zh/resources/plasma-disassembler/index.md) · 工具
- [mobdevim iOS 设备命令行工具](https://awesomerea.org/zh/resources/mobdevim/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
