学习资源

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。

关于此条目

类型
学习资源
类别
学习资源
关联
学习资源
目标
二进制

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · ZhangZhuoSJTU/tiny-dec · 修订 4f5f1e0
  2. pyproject.toml GitHub · ZhangZhuoSJTU/tiny-dec · 修订 4f5f1e0
  3. LICENSE GitHub · ZhangZhuoSJTU/tiny-dec · 修订 4f5f1e0
  4. DEVELOPMENT_NOTES.md GitHub · ZhangZhuoSJTU/tiny-dec · 修订 4f5f1e0
  5. .github/workflows/ci.yml GitHub · ZhangZhuoSJTU/tiny-dec · 修订 4f5f1e0
  6. .claude-plugin/plugin.json GitHub · ZhangZhuoSJTU/tiny-dec · 修订 4f5f1e0
  7. skills/teach-decompilation GitHub · ZhangZhuoSJTU/tiny-dec · 修订 4f5f1e0
  8. tests/fixtures GitHub · ZhangZhuoSJTU/tiny-dec · 修订 4f5f1e0
  9. https://tiny-dec.zzhang.xyz/

同分区更多条目:文档与学习资源

文档与学习资源分区全部 43 项资源