{
  "added_at": "2026-10-18",
  "additional_evidence_urls": [
    "https://github.com/TheOnlyZac/sly1/blob/ea5e2d77ac2a083df1efeafcee178f895943b13d/configure.py",
    "https://github.com/TheOnlyZac/sly1/blob/ea5e2d77ac2a083df1efeafcee178f895943b13d/config/checksum.sha1",
    "https://github.com/TheOnlyZac/sly1/blob/ea5e2d77ac2a083df1efeafcee178f895943b13d/config/readme.md",
    "https://github.com/TheOnlyZac/sly1/blob/ea5e2d77ac2a083df1efeafcee178f895943b13d/scripts/setup_prodg_linux.sh",
    "https://github.com/TheOnlyZac/sly1/blob/ea5e2d77ac2a083df1efeafcee178f895943b13d/docs/CONTRIBUTING.md",
    "https://github.com/TheOnlyZac/sly1/blob/ea5e2d77ac2a083df1efeafcee178f895943b13d/.github/workflows/build.yml",
    "https://github.com/TheOnlyZac/sly1/blob/ea5e2d77ac2a083df1efeafcee178f895943b13d/LICENSE",
    "https://decomp.dev/TheOnlyZac/sly1",
    "https://web.archive.org/web/20261020041838/https://decomp.dev/TheOnlyZac/sly1/SCUS_971.98/ea5e2d77ac2a083df1efeafcee178f895943b13d.json",
    "https://theonlyzac.github.io/sly1"
  ],
  "category": "reconstruction-cases",
  "description_en": "Reconstructs source code for SCUS_971.98, the NTSC-U PlayStation 2 executable of Sly Cooper and the Thievius Raccoonus, as a work-in-progress matching decompilation. Functions not yet matched are still assembled from code split out of the user's own executable, and the build checks the linked ELF's SHA-1. The result runs in PCSX2 with the original disc for assets; it is not a native PC port.",
  "description_zh": "将《Sly Cooper and the Thievius Raccoonus》PlayStation 2 美版可执行文件 SCUS_971.98 重建为源码，属于进行中的一致性反编译。尚未匹配的函数仍由从使用者自备可执行文件中拆分出的汇编构建，构建会检查链接后 ELF 的 SHA-1。产物需在 PCSX2 中配合原版光盘素材运行，并不是原生 PC 移植。",
  "entry_url": "https://awesomerea.org/resources/sly1-matching-decomp-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/sly1-matching-decomp-case/",
  "evidence_url": "https://github.com/TheOnlyZac/sly1/blob/ea5e2d77ac2a083df1efeafcee178f895943b13d/README.md",
  "group": "cases",
  "id": "sly1-matching-decomp-case",
  "json_url": "https://awesomerea.org/resources/sly1-matching-decomp-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/sly1-matching-decomp-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/sly1-matching-decomp-case/index.md",
  "name": "Sly Cooper and the Thievius Raccoonus: matching PlayStation 2 decompilation",
  "name_zh": "Sly Cooper and the Thievius Raccoonus：PlayStation 2 一致性反编译",
  "reconstruction_method": "matching-decompilation",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "scope",
    "prerequisites",
    "prerequisites",
    "testing",
    "license"
  ],
  "requirements": [
    "README describes a work-in-progress decompilation of the NTSC-U executable SCUS_971.98 (SHA-1 prefix 57dc305d) that aims to decompile the game engine to matching source. Its FAQ says the project has built a matching ELF since July 2024 and still aims to match 100% of functions. Engine, Splice scripting-engine and data progress are reported on decomp.dev.",
    "The repository contains no game assets or original code. Users supply SCUS_971.98 from their own legally obtained disc, or an NTSC-U ISO for the quickstart script. Running the build requires PCSX2 2.0, the user's game ISO for assets and a BIOS from the user's own PS2.",
    "Builds run on Debian-based Linux or WSL, with a Distrobox guide for other distributions. They need Python 3.9+ with the listed packages, MIPS binutils, Ninja, and Wine or wibo to run the downloaded ee-gcc 2.95.2 SN (ProDG) compiler archive. configure.py splits the ELF with splat, inserts split assembly in place of non-matching functions and links the executable; objdiff, decomp.me and CodeMatcher support matching, the last currently against the May 19, 2002 prototype.",
    "By default the build checks out/SCUS_971.98 against config/checksum.sha1; --skip-checksum is documented for intentional code changes, whose output may not boot. CI downloads the original ELF through a repository secret and runs this check on main, and the check run recorded for the reviewed commit succeeded. This verifies byte identity of one executable.",
    "The repository is dedicated under CC0 1.0; the original game, extracted assembly and data, and the ProDG compiler and SCE runtime library keep separate rights. CONTRIBUTING takes mangled function names from the May 2002 prototype's debug symbols."
  ],
  "requirements_zh": [
    "README 将其描述为针对美版可执行文件 SCUS_971.98（SHA-1 前缀 57dc305d）的进行中反编译，目标是把游戏引擎反编译为可一致编译的源码。FAQ 称项目自 2024 年 7 月起已能构建一致的 ELF，最终目标仍是匹配全部函数。引擎、Splice 脚本引擎和数据的进度在 decomp.dev 上报告。",
    "仓库不含游戏素材或原始代码。使用者需从自己合法取得的光盘提供 SCUS_971.98，或为快速入门脚本提供美版 ISO。运行构建产物需要 PCSX2 2.0、使用者自己的游戏 ISO（用于加载素材）以及来自使用者自有 PS2 的 BIOS。",
    "构建可在基于 Debian 的 Linux 或 WSL 上进行，其他发行版可参考 Distrobox 指南。需要 Python 3.9+ 及所列软件包、MIPS binutils、Ninja，并以 Wine 或 wibo 运行下载的 ee-gcc 2.95.2 SN（ProDG）编译器归档。configure.py 使用 splat 拆分 ELF，以拆分出的汇编替代尚未一致的函数，并链接可执行文件；objdiff、decomp.me 和 CodeMatcher 用于辅助匹配，其中 CodeMatcher 目前以 2002 年 5 月 19 日原型版为对照。",
    "默认构建会依据 config/checksum.sha1 校验 out/SCUS_971.98；文档说明有意修改代码时可使用 --skip-checksum，但其产物可能无法启动。CI 通过仓库机密下载原版 ELF，并在 main 分支上执行此校验，所审提交记录的检查结果为成功。这验证单个可执行文件的逐字节一致。",
    "仓库以 CC0 1.0 发布；原版游戏、提取的汇编和数据，以及 ProDG 编译器和 SCE 运行库各有权利约束。CONTRIBUTING 从 2002 年 5 月原型版的调试符号中获取经过名称修饰的函数名。"
  ],
  "targets": [
    "game"
  ],
  "url": "https://github.com/TheOnlyZac/sly1",
  "verification": "source-reviewed",
  "verified_at": "2026-10-18"
}
