{
  "added_at": "2026-10-27",
  "additional_evidence_urls": [
    "https://github.com/ZhangZhuoSJTU/tiny-dec/blob/4f5f1e00a147ba1c1471d2e01f9dd4beb5a693d6/pyproject.toml",
    "https://github.com/ZhangZhuoSJTU/tiny-dec/blob/4f5f1e00a147ba1c1471d2e01f9dd4beb5a693d6/LICENSE",
    "https://github.com/ZhangZhuoSJTU/tiny-dec/blob/4f5f1e00a147ba1c1471d2e01f9dd4beb5a693d6/DEVELOPMENT_NOTES.md",
    "https://github.com/ZhangZhuoSJTU/tiny-dec/blob/4f5f1e00a147ba1c1471d2e01f9dd4beb5a693d6/.github/workflows/ci.yml",
    "https://github.com/ZhangZhuoSJTU/tiny-dec/blob/4f5f1e00a147ba1c1471d2e01f9dd4beb5a693d6/.claude-plugin/plugin.json",
    "https://github.com/ZhangZhuoSJTU/tiny-dec/tree/4f5f1e00a147ba1c1471d2e01f9dd4beb5a693d6/skills/teach-decompilation",
    "https://github.com/ZhangZhuoSJTU/tiny-dec/tree/4f5f1e00a147ba1c1471d2e01f9dd4beb5a693d6/tests/fixtures",
    "https://tiny-dec.zzhang.xyz/"
  ],
  "category": "learning",
  "description_en": "Zhuo Zhang's small educational decompiler for 32-bit RISC-V (RV32I) ELF files, written in Python to teach how decompilation works rather than to compete with production decompilers. Its 19 deliberately separate stages run from ELF loading, decoding and p-code lifting through SSA, stack, type, variable and range recovery to control-flow structuring and C output, and the CLI can stop at any stage to print that stage's intermediate result. The README also offers a Claude Code plugin whose AI tutor walks learners through the stages with quizzes and exercises.",
  "description_zh": "Zhuo Zhang 用 Python 编写的小型教学用反编译器，面向 32 位 RISC-V（RV32I）ELF 文件，目的是讲清反编译的工作原理，而非与生产级反编译器竞争。它把流程刻意拆成 19 个独立阶段：从 ELF 加载、指令解码和 p-code 提升，经过 SSA、栈、类型、变量和取值范围恢复，再到控制流结构化和 C 代码输出；命令行可在任一阶段停下，打印该阶段的中间结果。README 还提供一个 Claude Code 插件，其中的 AI 导师会结合小测和练习，带学习者逐个阶段学习。",
  "entry_url": "https://awesomerea.org/resources/tiny-dec/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/tiny-dec/",
  "evidence_url": "https://github.com/ZhangZhuoSJTU/tiny-dec/blob/4f5f1e00a147ba1c1471d2e01f9dd4beb5a693d6/README.md",
  "group": "learn",
  "id": "tiny-dec",
  "json_url": "https://awesomerea.org/resources/tiny-dec/record.json",
  "kind": "learning-resource",
  "markdown_url": "https://awesomerea.org/resources/tiny-dec/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/tiny-dec/index.md",
  "name": "tiny-dec",
  "name_zh": "tiny-dec 教学用反编译器",
  "record_type": "resource",
  "relationship": "learning",
  "requirements": [
    "Reviewed at commit 4f5f1e0 (2026-05-27), the repository's only commit; the package is version 0.1.0, and the repository's test and lint workflows passed on that commit. The README calls it a teaching tool, not a production decompiler: it handles RV32I only, and unresolved expressions stay in the output as raw<...> rather than being guessed. A live demo site at tiny-dec.zzhang.xyz shows the stages.",
    "Input is an RV32I ELF file. The repository commits 13 C test programs and 39 RV32I builds of them (-O0 and -O2, PIE and non-PIE) under tests/fixtures, so no outside binaries are needed. Rebuilding them or compiling one's own C code needs clang, lld and LLVM with RISC-V support, installed locally or through the included Docker development image.",
    "Requires Python 3.12+ and Poetry, and the loader leaves ELF parsing to pwntools; the README lists Ubuntu/Debian system packages, and a devcontainer is included. The AI tutor needs Claude Code and installs as a plugin from the repository's marketplace manifest; its skill files hold one lesson guide per pipeline stage.",
    "MIT license (Copyright 2026 Zhuo Zhang). The 500-test count and the example outputs are the author's. The tutor is an AI teaching aid."
  ],
  "requirements_zh": [
    "审阅提交为 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 教学辅助。"
  ],
  "targets": [
    "binary"
  ],
  "url": "https://github.com/ZhangZhuoSJTU/tiny-dec",
  "verification": "source-reviewed",
  "verified_at": "2026-10-19"
}
