# 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.

- Type: Case study
- Targets: Game
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-10-18
- Added to the catalog: 2026-10-19
- Original resource: <https://github.com/N0zoM1z0/th095>
- Primary source: <https://github.com/N0zoM1z0/th095/blob/6084b36cfa90ac1720f0cba36caec3ee56fc5e1f/README.md>
- Catalog page: <https://awesomerea.org/resources/th095-reconstruction-case/>
- Record JSON: <https://awesomerea.org/resources/th095-reconstruction-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/th095-reconstruction-case/index.md)

## Requirements & limits

- **Prerequisites:** 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.
- **Prerequisites:** 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.
- **Testing evidence:** 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 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.
- **Testing evidence:** 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.
- **License:** 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; REA’s separately published Touhou essay discusses this project.

## Primary sources

1. <https://github.com/N0zoM1z0/th095/blob/6084b36cfa90ac1720f0cba36caec3ee56fc5e1f/README.md>
2. <https://github.com/N0zoM1z0/th095/blob/6084b36cfa90ac1720f0cba36caec3ee56fc5e1f/docs/PROGRESS.md>
3. <https://github.com/N0zoM1z0/th095/blob/6084b36cfa90ac1720f0cba36caec3ee56fc5e1f/docs/ORACLES.md>
4. <https://github.com/N0zoM1z0/th095/blob/6084b36cfa90ac1720f0cba36caec3ee56fc5e1f/docs/RUNTIME_ISSUES.md>
5. <https://github.com/N0zoM1z0/th095/blob/6084b36cfa90ac1720f0cba36caec3ee56fc5e1f/docs/TOOLS.md>
6. <https://github.com/N0zoM1z0/th095/blob/6084b36cfa90ac1720f0cba36caec3ee56fc5e1f/config/tools.lock.toml>
7. <https://github.com/N0zoM1z0/th095/blob/6084b36cfa90ac1720f0cba36caec3ee56fc5e1f/scripts/bootstrap-tools.sh>
8. <https://github.com/N0zoM1z0/th095/blob/6084b36cfa90ac1720f0cba36caec3ee56fc5e1f/.github/workflows/ci.yml>
9. <https://github.com/N0zoM1z0/th095/blob/6084b36cfa90ac1720f0cba36caec3ee56fc5e1f/LICENSE>

## More in Games

- [The Minish Cap: a GBA decompilation targeting five ROMs](https://awesomerea.org/resources/zelda-tmc-decomp-case/index.md) · Case study
- [The Sims: Bustin' Out: an AI-driven partial GBA matching decompilation](https://awesomerea.org/resources/sims-bustin-out-gba-decomp-case/index.md) · Case study
- [The Wind Waker: a GameCube decompilation with hash-checked relinking](https://awesomerea.org/resources/wind-waker-decomp-case/index.md) · Case study
- [Touhou 6: reconstructing Embodiment of Scarlet Devil 1.02h source](https://awesomerea.org/resources/th06-decomp-case/index.md) · Case study
- [Touhou 7: reconstructing Perfect Cherry Blossom 1.00b source](https://awesomerea.org/resources/th07-decomp-case/index.md) · Case study
- [Twilight Princess: a decompilation with fully matching GameCube code](https://awesomerea.org/resources/twilight-princess-decomp-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
