{
  "added_at": "2026-11-09",
  "additional_evidence_urls": [
    "https://github.com/Hubert-Rybak/lezac-decompilation/blob/73b4bdb3a79cf26346c148d1024c3da5eb3b8333/RIGHTS.md",
    "https://github.com/Hubert-Rybak/lezac-decompilation/blob/73b4bdb3a79cf26346c148d1024c3da5eb3b8333/docs/analysis.md",
    "https://github.com/Hubert-Rybak/lezac-decompilation/blob/73b4bdb3a79cf26346c148d1024c3da5eb3b8333/docs/pascal-recovery.md",
    "https://github.com/Hubert-Rybak/lezac-decompilation/blob/73b4bdb3a79cf26346c148d1024c3da5eb3b8333/docs/reproduction.md",
    "https://github.com/Hubert-Rybak/lezac-decompilation/blob/73b4bdb3a79cf26346c148d1024c3da5eb3b8333/docs/emulator-baseline.md",
    "https://github.com/Hubert-Rybak/lezac-decompilation/blob/73b4bdb3a79cf26346c148d1024c3da5eb3b8333/analysis/provenance.json",
    "https://github.com/Hubert-Rybak/lezac-decompilation/blob/73b4bdb3a79cf26346c148d1024c3da5eb3b8333/analysis/coverage.json",
    "https://github.com/Hubert-Rybak/lezac-decompilation/blob/73b4bdb3a79cf26346c148d1024c3da5eb3b8333/analysis/emulator.json",
    "https://github.com/Hubert-Rybak/lezac-decompilation/blob/73b4bdb3a79cf26346c148d1024c3da5eb3b8333/Makefile",
    "https://github.com/Hubert-Rybak/lezac-decompilation/blob/73b4bdb3a79cf26346c148d1024c3da5eb3b8333/.github/workflows/verify.yml"
  ],
  "category": "community-case-studies",
  "description_en": "The author uses REA 6.3.0 with Ghidra to export dossiers, pseudocode and assembly for all 215 discovered procedures in the DOS shareware LEZAC.EXE, then recovers a small set of routines as Pascal and portable C. Recovered code is tested against the original x86 instructions, and a pinned DOSBox-X baseline records original-game runs..",
  "description_zh": "作者使用 REA 6.3.0 与 Ghidra，为 DOS 共享软件 LEZAC.EXE 中发现的全部 215 个过程导出档案、伪代码和汇编，再将其中少量例程恢复为 Pascal 和可移植 C。恢复的代码以原 x86 指令为对照进行测试，固定版本的 DOSBox-X 基线记录了原游戏的运行情况。README 将成果界定为分析档案和少量恢复例程；尚无可游玩或逐位一致的重建，恢复代码也不是原作者的源码。",
  "entry_url": "https://awesomerea.org/resources/lezac-rea-decompilation-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/lezac-rea-decompilation-case/",
  "evidence_url": "https://github.com/Hubert-Rybak/lezac-decompilation/blob/73b4bdb3a79cf26346c148d1024c3da5eb3b8333/README.md",
  "group": "rea",
  "id": "lezac-rea-decompilation-case",
  "json_url": "https://awesomerea.org/resources/lezac-rea-decompilation-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/lezac-rea-decompilation-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/lezac-rea-decompilation-case/index.md",
  "name": "Larax & Zaco: an REA-exported evidence base and partial routine recovery",
  "name_zh": "Larax & Zaco：REA 导出的证据库与部分例程恢复",
  "reconstruction_method": "decompilation",
  "record_type": "resource",
  "relationship": "community-reported-mixed-workflow",
  "requirements": [
    "Larax & Zaco v1.0 shareware is the required original input. tools/fetch_original.py downloads a pinned archive or accepts an offline ZIP and verifies file hashes. The original executable and resources are absent from the repository.",
    "Verification needs Python 3.12+, a C99 compiler, Free Pascal 3.2.2, make, npm and a Node.js version accepted by REA. DOS probes also need the FPC i8086 cross compiler. Re-export needs REA 6.3.0, Ghidra 12.1.4 and a full JDK; original-game runs use DOSBox-X 2024.03.01 and Xvfb.",
    "Seven Pascal routines, sixteen packed layouts, six portable C routines and resource decoders are recovered. Interrupt handlers, most gameplay, rendering, audio and DOS services remain unrecovered.",
    "The README reports 174,777 Pascal and 173,725 C comparisons against original x86 code, twelve DOS probe comparisons and 94 loaded-image checks. Gameplay replays use host timing.",
    "The repository has no license file; RIGHTS.md grants no blanket open-source license for recovered logic or generated pseudocode. The original game and derived exports retain their rights."
  ],
  "requirements_zh": [
    "需要 Larax & Zaco v1.0 共享软件原版。tools/fetch_original.py 下载固定存档或接受离线 ZIP，并校验文件哈希。仓库不含原可执行文件和资源。",
    "验证需要 Python 3.12+、C99 编译器、Free Pascal 3.2.2、make、npm 以及 REA 接受的 Node.js 版本。DOS 探针还需 FPC i8086 交叉编译器。重新导出需要 REA 6.3.0、Ghidra 12.1.4 和完整 JDK；运行原游戏需要 DOSBox-X 2024.03.01 与 Xvfb。",
    "恢复了七个 Pascal 例程、十六种紧凑布局、六个可移植 C 例程和资源解码器。中断处理、大部分玩法、渲染、音频和 DOS 服务仍未恢复。",
    "README 报告 Pascal 与原 x86 代码对照 174,777 例、C 对照 173,725 例、DOS 探针对照 12 次，另有 94 项载入映像检查。游戏回放采用宿主时间。",
    "仓库没有许可证文件；RIGHTS.md 未对恢复逻辑或生成的伪代码授予统一开源许可。原游戏及衍生导出保留原有权利。"
  ],
  "targets": [
    "binary",
    "game"
  ],
  "url": "https://github.com/Hubert-Rybak/lezac-decompilation",
  "verification": "source-reviewed",
  "verified_at": "2026-10-18"
}
