学习资源
tiny-dec 教学用反编译器
Zhuo Zhang 用 Python 编写的小型教学用反编译器,面向 32 位 RISC-V(RV32I)ELF 文件,目的是讲清反编译的工作原理,而非与生产级反编译器竞争。它把流程刻意拆成 19 个独立阶段:从 ELF 加载、指令解码和 p-code 提升,经过 SSA、栈、类型、变量和取值范围恢复,再到控制流结构化和 C 代码输出;命令行可在任一阶段停下,打印该阶段的中间结果。README 还提供一个 Claude Code 插件,其中的 AI 导师会结合小测和练习,带学习者逐个阶段学习。
使用条件与局限
- 审阅提交为 4f5f1e0(2026-05-27),也是仓库唯一的提交;软件包版本为 0.1.0,仓库的测试和代码检查工作流在该提交上均已通过。README 称它是教学工具而非生产级反编译器:只支持 RV32I,无法解析的表达式以 raw<...> 形式保留在输出中,而不作猜测。在线演示站点 tiny-dec.zzhang.xyz 展示了各个阶段。
- 输入为 RV32I ELF 文件。仓库在 tests/fixtures 下提交了 13 个 C 测试程序及其 39 个 RV32I 构建(-O0 与 -O2,PIE 与非 PIE),因此无需任何外部二进制文件。重新构建这些程序或编译自己的 C 代码,需要支持 RISC-V 的 clang、lld 和 LLVM,可在本地安装,也可使用仓库附带的 Docker 开发镜像。
- 需要 Python 3.12+ 和 Poetry,加载器把 ELF 解析交给 pwntools;README 列出了 Ubuntu/Debian 系统依赖,仓库还附带 devcontainer 配置。AI 导师需要 Claude Code,通过仓库中的插件市场清单安装为插件;其技能文件为流水线的每个阶段各准备了一份课程指南。
- 采用 MIT 许可证(Copyright 2026 Zhuo Zhang)。500 个测试的数量和示例输出均出自作者。本合集没有安装或运行该反编译器,没有试用 AI 导师,也没有评估输出质量。该导师是 AI 教学辅助,并非 REA 集成,仓库中也没有提到 REA。
关于此条目
- 类型
- 学习资源
- 类别
- 学习资源
- 关联
- 学习资源
- 目标
- 二进制
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · ZhangZhuoSJTU/tiny-dec · 修订 4f5f1e0
- pyproject.toml GitHub · ZhangZhuoSJTU/tiny-dec · 修订 4f5f1e0
- LICENSE GitHub · ZhangZhuoSJTU/tiny-dec · 修订 4f5f1e0
- DEVELOPMENT_NOTES.md GitHub · ZhangZhuoSJTU/tiny-dec · 修订 4f5f1e0
- .github/workflows/ci.yml GitHub · ZhangZhuoSJTU/tiny-dec · 修订 4f5f1e0
- .claude-plugin/plugin.json GitHub · ZhangZhuoSJTU/tiny-dec · 修订 4f5f1e0
- skills/teach-decompilation GitHub · ZhangZhuoSJTU/tiny-dec · 修订 4f5f1e0
- tests/fixtures GitHub · ZhangZhuoSJTU/tiny-dec · 修订 4f5f1e0
- https://tiny-dec.zzhang.xyz/
同分区更多条目:文档与学习资源
- 逆向工程阅读清单(onethawt) · 学习资源
- Decomp Academy 一致性反编译课程 · 学习资源
- OWASP 固件安全测试方法论(FSTM) · 学习资源
- 安装与客户端配置 · 文档
- CLI 与 Evidence · 文档
- MCP 接口约定与生成目录 · 文档