Case study
TH095: function-level reconstruction of Shoot the Bullet 1.02a
Reconstructs source for the original Japanese Touhou 9.5: Shoot the Bullet 1.02a executable, accepting function exactness only through reproducible byte comparison of pinned Visual C++ .NET 2003 builds against one hash-attested target. The whole program also compiles and links into a playable Windows i386 executable, while README keeps playability, function matching and whole-executable identity as separate statuses.
Requirements and limitations
- Generated PROGRESS.md reports 697 confirmed authored functions among 1,880 candidates, all with source, and 696 canonically exact, covering 99.22% of confirmed authored bytes; Controller::GetInput keeps one differing byte. README does not claim whole-executable byte identity, lists semantic reconstruction as active and Windows x86-64, Linux and Web ports as planned, and tags the playable baseline v0.1.0-windows-i386 without release binaries.
- Supply your own original Japanese 1.02a th095.exe matching the size, SHA-256 and MD5 in README, imported as resources/th095.exe; playing also needs the game’s data. README says copyrighted executables, game data and private analysis databases are not included, and public CI runs only target-independent checks.
- scripts/bootstrap-tools.sh needs curl, git, sha256sum, tar, unzip, uv and Wine, then fetches checksum-pinned Ghidra 12.1.3, Temurin JDK 21, objdiff 3.8.0 and Microsoft Visual C++ .NET 2003 (13.10.3077) binaries from a third-party archive repository; reccmp 0.1.6 is also pinned. scripts/build-whole.py cold-compiles and links the production graph and refuses stubbed or force-linked images.
- Exact credit requires a zero-difference COFF function comparison recorded in the match ledgers; Ghidra, IDA MCP and runtime observation count only as supporting evidence. README cites a full-game runtime video using a test-only no-death launcher plus separate normal-build tests, and RUNTIME_ISSUES.md notes those checks used 2026-09-10 source, with later semantic changes only compile- and link-validated. This collection ran nothing.
- MIT covers repository code and documentation, not the game or its assets; the downloaded compiler and tools keep their own terms. The repository carries coding-agent rules and skills and a GPT web Ghidra bridge but does not itself document REA use; REA’s separately published Touhou essay discusses this project. No runtime reproduction is claimed here.
About this entry
- Type
- Case study
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Targets
- Game
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · N0zoM1z0/th095 · Revision 6084b36
- docs/PROGRESS.md GitHub · N0zoM1z0/th095 · Revision 6084b36
- docs/ORACLES.md GitHub · N0zoM1z0/th095 · Revision 6084b36
- docs/RUNTIME_ISSUES.md GitHub · N0zoM1z0/th095 · Revision 6084b36
- docs/TOOLS.md GitHub · N0zoM1z0/th095 · Revision 6084b36
- config/tools.lock.toml GitHub · N0zoM1z0/th095 · Revision 6084b36
- scripts/bootstrap-tools.sh GitHub · N0zoM1z0/th095 · Revision 6084b36
- .github/workflows/ci.yml GitHub · N0zoM1z0/th095 · Revision 6084b36
- LICENSE GitHub · N0zoM1z0/th095 · Revision 6084b36