Star on GitHubStar2.4k stars

THE REVERSE ENGINEERING COLLECTION

Reverse-engineering case studies

Page 3 of 21, cases 401–600. 4,025 case studies from 5,191 curated resources, with documented reconstruction methods, scope, and original evidence.

Software reconstruction artifact reviews

Review artifacts from REA workflows and independent reconstructions. Each entry retains its original sources and known limits.

Reconstruction scope
Implemented features, known gaps and required original assets.
Available artifacts
Original code, releases or demos.
Evidence and attribution
Pinned sources, review dates and documented REA roles.
About these cases

Each case appears once under its primary subject, with all its target labels.

Cases 401–600 of 4,025

Games

2832 cases

All sections

Matching decompilations and disassemblies

583 cases

This decompiles New Super Mario Bros. Wii from the PALv1 binaries. A dumped disc supplies main.dol and four rel.LZ files. tools/uncompress_lz.py decompresses the rel files. main.dol is renamed wiimj2d.dol and placed in original with the rel files. The MD5 of wiimj2d.dol is ddab9e5dca53d8c18bf4051b927e822e. CodeWarrior for Embedded PowerPC goes in compilers/Wii/1.1. ./configure.py then ninja links a dol and rel files that match the originals. ./progress.py --verify-bin checks them. Linux and macOS use wibo or Wine.

nsmb reconstructs source for the Nintendo DS game New Super Mario Bros., with active comparison work on the US A2DE release. Its workflow extracts a user-dumped ROM, delinks modules and generates an objdiff configuration to compare reconstructed code with game code; a complete ROM build remains unavailable.

NFL Street 2 reconstructs C and C++ source for the USA GameCube release with a byte-identical executable as its goal. The build inserts reconstructed units into an original-object baseline and checks the resulting main.dol hash; a trial tool compares individual functions. Configuration files record names, unit boundaries and supporting evidence.

Reconstructs the US Rev 0 release of Ogre Battle 64 from source-owned MIPS assembly, replacing accepted functions with C that matches linked bytes and the full ROM. Its workflow records compiler and relocation constraints, tests each replacement, and keeps the original ROM and toolchains outside the repository.

Recreates a C source base for Ocarina of Time that rebuilds 16 Nintendo 64, GameCube and iQue Player ROM versions, using information from the game and static and dynamic analysis. Assets come from the user’s own ROM and each default build is checked against that version’s MD5; README states the project is not producing a PC port and still calls the repository a work in progress.

Okamiden is being reconstructed as C source for the USA Nintendo DS release, with compiled ARM9 code compared against the original. The project uses ds-decomp, Metrowerks CodeWarrior ARM and objdiff; the author reports three matched ARM9 source units and keeps nonmatching reconstructions separate. Work is at an early stage.

Pac-Man NES Source Reconstruction rebuilds seven official Famicom and NES Pac-Man revisions from shared, annotated 6502 ca65 modules. Its build rules extract data from a user's ROM and compare assembled output byte for byte with each available original; a relocated build also has a recorded longplay check in MAME.

Reconstructs Paper Mario’s Nintendo 64 code as C source that rebuilds the US, Japanese, PAL and iQue ROMs. The build takes assets and comparison inputs from a user-supplied original ROM, then checks each output against a recorded SHA-1. Mutable project reports list no remaining nonmatching functions, while the README still calls the decompilation work in progress; it is distinct from the PaperBoat native port.

A work-in-progress matching decompilation of Paper Mario: The Thousand-Year Door that targets the Japanese Rev 0 GameCube release (G8MJ01), rebuilding MarioSt.dol and 31 REL modules with the original Metrowerks compilers and checking each against a stored SHA-1. The build splits these binaries from a user-supplied disc image, and objdiff compares objects during development. decomp.dev reported 12.10% of code matched at the reviewed commit.

This Paper Mario: The Thousand-Year Door fork reconstructs one C source tree for three GameCube retail releases and four demos. The author reports that each build reproduces its main executable and area REL files byte for byte; version-specific configurations and architecture notes accompany the code.

Parasite Eve II Decompilation reconstructs the USA PlayStation game's executable, resident and title overlays, and code packages as buildable C. The author reports byte-identical output using the original GCC toolchain and checksum checks against the user's two game discs; the repository also documents game formats and matching techniques.

parasite-eve-decomp-port contains a matching C decompilation of parts of Parasite Eve's USA PlayStation executable and a native Linux port that runs decompiled game code. Builds extract remaining assembly and data from the user's Disc 1 image; the author reports that a native-only release plays through Day 1 and reaches the opening of Day 2.

Pea Shootin' Pete reconstructs DOS PETE.EXE functions as C and assembly using Borland C++ 3.1. Its tools repair gaps in a Ghidra export, compile candidates in DOSBox X, and compare instruction shape and bytes while reporting address-field differences. The author reports 94 exact function matches among 454 targets.

Reconstructs Perfect Dark’s Nintendo 64 code with a documented matching-ROM build. The project combines reconstructed source with assets from a user-supplied original ROM, then checks version-specific artifact hashes. It is a reproducible-build research case, distinct from the separate native PC port; matching results remain project-reported here.

PES6 decompilation reconstructs C source for the PlayStation 2 PAL release of Pro Evolution Soccer 6, covering its resident executable, 26 executable overlays and an auxiliary ELF. Local builds compare recovered functions with the user's game inputs; the author reports 10,930 exact function matches and separately tracks provisional nonmatching C.

Reconstructs Super Mario Galaxy’s Wii code as C++ that rebuilds, object by object, against main.dol files extracted from the user’s own Japanese, North American, PAL or Korean disc. Matched objects are linked from source and checked with objdiff and a target hash. The project describes itself as a work in progress, separate from any PC port, and says it does not accept AI-generated decompilation.

Phantasy Star Online Ver. 2 is being reconstructed from C/C++ and typed static data for its European Dreamcast release. Complete function ranges are compared with the decoded executable; unmatched code is supplied through fallback assembly generated from the user's dump. The author reports that the matching source covers part of the executable.

Recreates C++ source for The Legend of Zelda: Phantom Hourglass by hand-decompiling its European and US Nintendo DS releases, using the dsd toolkit to delink code from a user-supplied ROM and rebuild the ROM. objdiff tracks matches function by function, and the default build compares the output ROM with a stored SHA-1. The work is at an early stage: decomp.dev reported 2.82% of code matched at the reviewed commit.

A fan decompilation of Pikmin 2 that rebuilds main.dol for five GameCube releases (USA retail, two USA demos, PAL and Japan) with the original Metrowerks compilers, checking each against a stored SHA-1. The build reads main.dol from the user’s own copy of each release. decomp.dev reported all code matched and fully linked for every version at the reviewed commit, and a non-matching mode builds the US DOL entirely from C++ for modding.

Reconstructs the Game Boy Color game Pokémon Crystal as RGBDS assembly, with graphics, maps and data stored as editable sources. One tree builds the international 1.0 and 1.1 releases, the Australian release, two debug builds and a Virtual Console patch, each checked against a recorded SHA-1. Companion documentation covers script command formats and known bugs in the original game.

Reconstructs the Game Boy games Pokémon Red and Blue as RGBDS assembly, with graphics and data kept as editable source files. One tree builds the USA/Europe Red and Blue ROMs, a Blue debug build and patches for the Virtual Console releases, each checked against a recorded SHA-1. It is a full disassembly rather than a decompilation into a higher-level language.

Reconstructs the Game Boy Advance games Pokémon Ruby and Sapphire as C source built with pret's agbcc compiler, alongside assembly data scripts and editable graphics. Matching builds cover the English 1.0, 1.1 and 1.2 revisions, debug builds and the first German editions, each checked against a stored SHA-1. A separate modern-GCC target is not expected to match.

This is a matching decompilation of Pokémon Battle Revolution for the Wii, PAL RPBP01 revision 0. On 2026-10-12, 6,410 of 13,890 functions matched (21.05 percent), and 2.32 percent was in finished units linked into the build. python configure.py and ninja check main.dol against config/RPBP01/build.sha1. The disc image starts in orig/RPBP01/.

Pokémon Colosseum continues a GameCube matching decompilation with additional C and data reconstruction, a measured progress ledger, and native Windows build support. It covers the GC6E01 DOL and 25 REL modules. The author reports byte-identical rebuilt outputs using original fallback objects where source reconstruction remains incomplete.

Reconstructs Pokémon Emerald for the Game Boy Advance as buildable C source, with game scripts and data kept as assembler directives. The default agbcc build produces pokeemerald.gba, and make compare checks it against the SHA-1 of the original English ROM; an optional modern-GCC build is not hash-checked. Graphics and audio sources are committed in the tree, so the documented build reads no base ROM.

Reconstructs the English Game Boy Advance releases of Pokémon FireRed and LeafGreen as buildable C source, with game scripts and data kept as assembler directives. Default agbcc builds produce six ROM images, covering both games' 1.0 and 1.1 releases and two variants labeled switch, each checked against its own SHA-1 manifest. Graphics and audio sources are committed in the tree, so the documented build reads no base ROM.

Continues pret’s HeartGold/SoulSilver disassembly in a separate fork that reports the US Nintendo DS releases fully decompiled to C and C++ with LLM agents, while both ROMs still rebuild byte-for-byte against their retail SHA-1s. A checked-in progress report counts about 99% of mapped code bytes as C or C++, and a batch-by-batch work log records each replaced assembly range and the hash checks that followed. README says pret does not accept AI-generated code and does not want to be associated with the fork.

Rebuilds the US Nintendo DS releases of Pokémon HeartGold and SoulSilver from a work-in-progress disassembly in which part of the code has been decompiled to C. Each default build checks the ARM9 and ARM7 binaries, the filesystem and the complete ROM against per-game SHA-1 manifests. README warns that, because decompilation is incomplete, edits that change code or data layout can crash the game.

Reconstructs the US Nintendo DS release of Pokémon Platinum as C source that rebuilds revision 1 by default and revision 0 on request. The default make target runs Meson checks of the code binaries, filesystem and complete ROM against SHA-1 manifests. README still calls the project work in progress; its contributing guide says the code is entirely C but much of it remains obfuscated, leaving documentation and tooling as the main work.

This is a work-in-progress decompilation of the US version of Pokémon Stadium. A successful build produces pokestadium.z64, MD5 ed1378bc12115f71209a77844965ba50. The US 1.0 ROM goes in baseroms/us/baserom.z64. make init extracts it and make reassembles it. Debian and Ubuntu installs use make, git, build-essential, binutils-mips-linux-gnu, and Python newer than 3.7, plus the packages in requirements.txt.

Reconstructs Pokémon XD: Gale of Darkness for GameCube as C/C++ source targeting a byte-identical retail build. Functions count as matched when objdiff finds identical machine code, and builds are checked against the retail DOL SHA-1. The author reports a local snapshot of 50.01% matched US code and 21.35% matched data.

Psychonauts decompiles the PC game's modified Lua 4.0 scripts and portions of its 32-bit x86 engine into source checked by per-function byte comparisons. Its tools extract scripts from a user-owned game copy, rebuild them with a patched Lua compiler, and compare engine objects with Psychonauts.exe. The author reports all script functions matching and the engine still early in progress.

Reconstructs as C the firmware of the Pokéwalker, the pedometer accessory for Pokémon HeartGold and SoulSilver, for its Renesas H8/38606 microcontroller. With artwork from the user’s retail firmware image and a supported Renesas compiler suite, the README reports a byte-identical rebuild of the 48 KiB image; without that image, original placeholder art gives a non-matching reference build. The author describes disassembling and decompiling the retail binary, the HeartGold/SoulSilver ROMs and the candidate compilers, alongside published hardware research.

ra2-decomp reconstructs Command & Conquer: Red Alert 2 – Yuri's Revenge 1.001 as C++ and checks compiled functions against gamemd.exe byte for byte. It maps function addresses, source files and hashes, while recording unmatched attempts separately. The author reports 79% of the game's code bytes matched as of 6 November 2026.

Reconstructs C++ source for the 1998 Rage of Mages / Allods engine and compares compiled functions with a specified ALLODS.EXE build. The project records executable structure, relocations and serialization findings, alongside build and matching tools. The author reports 329 exact functions out of 6,897 engine functions.

Rally Trophy Decomp reconstructs first-party functions from Rally Trophy 1.01 as C++ and compares locally compiled x86 code with the shipped Windows executable. Its function maps and subsystem notes record analysis findings, and the documented workflow associates nontrivial binary findings with REA evidence IDs.

Rampage 2: Universal Tour is being reconstructed as matching C for the USA PlayStation release SLUS-00742. Its build reads the executable and two overlays from an owned disc image, first rebuilding them from split assembly and then replacing functions with C. The author reports a byte-identical split-assembly build and 97.1% of game code matched from C.

rac3-decomp reconstructs Ratchet & Clank 3 PlayStation 2 core and level programs from C and assembly, checking compiled functions against PAL and NTSC-U retail code. It tracks shared functions across versions and links functions at retail addresses; the author reports substantial matching progress while many level functions remain in assembly.

Ratchet & Clank Collection analyzes four PS3 retail executables for the BCUS98282 release and develops C and C++ bodies to match their bytes. Its Python tools inspect SELF and PPU ELF structures, bound functions, compare related builds, and grade reconstructed bodies. The author reports six matching bodies at the documented checkpoint.

Ratchet & Clank Future: Tools of Destruction is an early matching decompilation of the USA PlayStation 3 release. Its tools inspect the package, SELF container and decrypted PPU ELF, recover function boundaries and compare compiled C bodies with retail bytes. The author reports byte-exact results for an initial set of functions while the full executable remains a long-term target.

Reconstructs C source for SCES_509.16, the PAL v2.00 PlayStation 2 executable of Ratchet & Clank (2002), with every function linked at its retail address. Functions not yet decompiled are still built from disassembly generated from the user's own executable, and the build audits functions, layout and the whole image against retail. The project documents an LLM-agent matching workflow and written build-fidelity rules for what counts as a match.

This is a matching decompilation of Ratchet & Clank: Up Your Arsenal for the PlayStation 2, NTSC-U SCUS-97353. It builds frontbin.elf, boot_elf.elf, and i5bootn.elf byte for byte. Their SHA-1 values are 3bc94ee895e4b4af9b5602a229af599c1103b542, 487975305f8a263c750dfede50391b575ed07835, and 71f3ecfc54c3d24d1475ef9efe8228fbfe59d65f.

This project decompiles the PAL PlayStation 2 Rayman main executable, SLES_500.44, into C and hand-written assembly. Its build links an ELF at the original addresses and compares the main image and individual functions byte for byte with a locally supplied reference. The author reports 856 of 5,645 functions matching.

Reconstructs C and C++ source for the two-disc Resident Evil 4 GameCube debug prototype (G4BE08) and rebuilds main.dol and all 114 REL overlays with the compilers the README names, checking every output against a SHA-1 list. Function names are Capcom’s own from the debug build’s Bio4.sym files, and most struct and field names are aligned from the PS2 debug build’s debug information. The project’s research log says AI agents did the matching work; byte identity is project-reported.

ReC98: the Touhou PC-98 Restoration Project

Independent reconstruction project

Reconstructs C++ and assembly source for the first five Touhou games, released by ZUN for the NEC PC-9801 in 1997–1998, under a rule that no master commit may change the decompressed program image or relocations of any original executable as compared by the project’s mzdiff tool. TH01 was fully decompiled in August 2022; code not yet decompiled stays in the tree as IDA-generated disassembly, and the project’s blog documents what each part of ZUN’s code does. Separate debloated and anniversary branches restructure the code and fix bugs as bases for ports and mods.

Reconstructs parts of Rhythm Tengoku Arcade's SH-4 program as C and assembly and implements round-trip tools for DTPK audio packages, STX textures and layered data ROMs. The author reports exact rebuilds for selected functions and asset packages while the game-code reconstruction remains partial.

River Raid is reverse-engineered from its ZX Spectrum 48K tape image into an annotated SkoolKit disassembly. Pasmo assembles the generated source for comparison with a game snapshot, and the repository records gameplay-loop and data-structure findings. The author reports a byte-identical build while routine documentation is still in progress.

Rogue Byte reconstructs the USA PlayStation 2 release of Sly 2: Band of Thieves as readable C/C++ through a matching decompilation workflow. It splits a user-supplied executable, compiles recovered functions with the original compiler and checks the linked image byte for byte; the same C is also checked against the optional PAL executable.

Rugrats: Scavenger Hunt reconstructs the USA Nintendo 64 game with matching C, reviewed assembly, symbolic RSP code and descriptions of initialized data. Its tools rebuild CPU units with recorded compiler pipelines and compare code and non-code regions with a player-supplied ROM. The author reports complete executable-byte and ROM-inventory coverage.

SCD Disasm: Sonic CD disassembly

Independent reconstruction project

SCD Disasm reconstructs Sonic CD's Sega Mega CD program files from disassembly, initially using the V0.02 prototype. It organizes reused engine functions into shared source files with linker scripts for the disc files; the author reports that the resulting binary objects can be assembled into an ISO that runs in an emulator.

The Scooby-Doo! Night of 100 Frights project reconstructs GameCube source for two USA disc revisions and builds main.dol executables checked against original SHA-1 hashes. It uses decomp-toolkit, target-specific split and symbol maps, compiler profiles and reconstructed C/C++ source. Users provide their own game disc; original disc files remain outside the repository.

The project reconstructs Scott Pilgrim vs. The World: The Game – Complete Edition for Nintendo Switch as C and C++ functions. It checks complete compiled function extents against the original executable and documents gameplay structures and bounded behavior comparisons; the author reports partial exact-match coverage, while a linked game build remains unfinished.

Decompiles sead, the C++ standard library that Nintendo statically links into its first-party games, covering containers, heaps, strings, math, file devices, threads, the game framework and graphics. Compile-time presets target the recent versions used by Breath of the Wild, Super Mario Odyssey, Splatoon 3, Tears of the Kingdom and Super Mario Bros. Wonder, and game decompilations such as Breath of the Wild pull it in as a submodule. Names come from debugging symbols and assertions in retail titles, and the README warns that many inlined and templated names are guesses.

Serial Experiments Lain is reconstructed as C source for the PlayStation release and ported to Windows, macOS and Linux through a reimplementation of PlayStation SDK calls. The author reports that the rebuilt executable matches the retail binary byte for byte; the native client reads media and data from the user's two original discs.

SF2RE records Shining Force II reverse-engineering work as IDA Pro IDC scripts rather than a checked-in ROM image. The scripts initialize and annotate an IDA database from the USA ROM, parse game structures and export a split disassembly to SF2DISASM, where a vanilla build can be checked for bit-perfect output.

Shadow of the Colossus reconstructs functions from the NTSC-U PlayStation 2 game in C and checks rebuilt machine code against a user-provided original. Its build workflow compares output byte for byte, while function files and shared headers hold the recovered code and types. The author reports that 582 of 1,043 functions match exactly.

Shin Megami Tensei III: Nocturne reconstructs readable C source for the US PlayStation 2 release and checks the linked executable against the retail SHA-1. Its build also assembles annotated VU microcode and retains assembly for unfinished functions. The author reports that a dated snapshot recovered 66.32% of game-code bytes from C.

shox-rr-decomp reconstructs C++ functions from the PlayStation 2 game Shox: Rally Reinvented. It uses the SN Systems GCC 2.95.2-EE toolchain through a Wine container and compares candidate objects with locally assembled retail references, checking machine-code bytes and relocations. The author reports a partial inventory of matched functions.

Sid Meier's SimGolf reconstructs C and C++ source for the English 1.03 game's executable and three DLLs, comparing recompiled functions with the originals. The author reports instruction matches for every function, while the final linked files retain differences. Kaitai Struct definitions document several save, course, golfer and sprite-bank formats.

Reconstructs Silent Hill’s PlayStation code, the main executable plus its engine, screen and map overlays, as C that rebuilds byte-identical binaries from the user’s own NTSC-U 1.1 disc image. The project focuses on matching and naming. decomp.dev reports every function matched for the pinned commit, while data migration, shiftable builds and documentation remain open.

The Skies of Arcadia Legends project reconstructs C source for the USA GameCube release and builds a byte-identical main.dol from a user-provided disc image. It tracks function-level matches, uses objdiff for comparison and documents compiler behavior affecting Sega's Ninja graphics library; some matched library code is imported with attribution.

Skies of Arcadia Legends reconstructs C source for the USA Rev 0 GameCube main.dol and checks rebuilt code with objdiff and compiler probes. It documents game systems including menus, cameras, sound and the frame loop while identifying separately imported SDK and MusyX code. The author reports 82 game functions linked from C in its October 2026 status block.

Reconstructs C++ source for The Legend of Zelda: Skyward Sword’s Wii main.dol and REL modules, starting from the user’s NTSC-U 1.0 (SOUE01) disc files. Objects marked matching are compiled from source and linked with objects split from the original, and the result is checked against SHA-1 hashes; the repository ships no assets or assembly and focuses on source reconstruction, with porting outside the project scope.

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.

A public matching decompilation of the N64 game Snowboard Kids 2, begun in 2024 with community decompilation tools. The author’s dated posts document Claude, Codex and GLM workflows, including headless one-shot loops, similarity-based function scheduling and hook-guarded, hash-checked builds, through a reported complete function match.

Snowboard Kids Plus reconstructs C for the Japanese PlayStation release SLPS-01823 and rebuilds its boot executable with remaining assembly. A build script extracts data from the user's disc image and checks that the resulting executable matches the original byte for byte. The SNB.DAT data file is extracted unchanged.

A matching decompilation of the original Nintendo 64 Snowboard Kids that rebuilds SHA1-identical North American and Japanese ROMs from a user-supplied ROM. The author’s 84-day post-mortem describes coding agents run through his Nigel harness alongside m2c, the permuter and a shared file of compiler learnings, and declines to credit LLMs alone for the speed-up. It is a separate project from the Snowboard Kids 2 decompilation.

The sk project reconstructs the US Nintendo 64 Snowboard Kids ROM from a user-supplied original, using static or dynamic analysis to build a source base. Its present work is described as mostly disassembly; the build workflow extracts needed assets and assembly locally and checks the rebuilt ROM against an MD5 hash.

Solomon's Key NES source reconstruction rebuilds the USA, European, and Japanese releases from shared ca65 assembly. The build extracts private CHR data from a user-supplied ROM, then compares rebuilt revisions byte for byte with the originals. Documentation covers the game architecture, RAM map, data formats, and subsystem behavior.

som-decomp reconstructs the North American SNES release of Secret of Mana with matching 65816 and SPC700 assembly, readable C routines and documentation of combat, AI, maps, menus and audio. Its build extracts data from the user's ROM and the author reports a byte-exact rebuilt image; captured-state differential checks cover much of the recovered C.

A source reconstruction fork rebuilds three regional Sonic the Hedgehog 3 ROMs, Sonic & Knuckles and the Sonic 3 & Knuckles lock-on composition byte for byte from user-provided images. Beyond the inherited disassembly, it organizes 68000 and Z80 source by subsystem and adds ROM identity checks, MAME runtime comparisons and bounded content round trips and edits.

Reconstructs Sonic Advance and Sonic Advance 2 for the Game Boy Advance as C that rebuilds six hash-listed ROMs with SAT-R’s agbcc fork, and compiles the same code into widescreen SDL ports for Linux, macOS and Windows plus PSP and PS2 builds. README reports Sonic Advance 2 built entirely from C with about 60 functions still non-matching. Extracted graphics, music and data are committed, so the builds read no original ROM.

Macabeus’s dated study describes prompting Claude Sonnet 3.5 and DeepSeek R1 with assembly, similar decompiled functions and structs to write matching C for Marun, one enemy module of the community Sonic Advance 3 GBA decompilation. The resulting pull request replaced that module’s assembly and was merged; the author calls the setting unusually AI-friendly, and the project now bars LLM-origin contributions.

Sonic Adventure decomp reconstructs the European Dreamcast game's executable from a user-supplied disc, using per-function SH-4 assembly files as a byte-matching build baseline. Its tools split the executable, map text and models, disassemble SH-4 code, and compare recovered C functions against original behavior; the author reports that no C functions are complete yet.

Sonic Adventure DX is being reconstructed from its 2014 Steam executable as C and C++ source that matches retail machine code function by function. The project uses the identified Visual C++ 2010 SP1 compiler, game-specific function and code-generation maps, and reccmp scores to compare rebuilt functions. The author reports an early stage with six exact function matches.

Reconstructs C and C++ source for the 2014 Steam release of Sonic Adventure DX, comparing compiled functions with the retail executable. It uses Visual C++ 2010 SP1 to produce matching machine code and reccmp to check matches. The project aims to rebuild the whole executable byte for byte, one function at a time.

Sonic Battle: a matching GBA decompilation

Independent reconstruction project

Sonic Battle decomp reconstructs the USA Rev 0 Game Boy Advance game as matching C and assembly. Its build checks the user's ROM hash, compiles recovered code with agbcc and compares a linked whole-ROM image with the original. The author reports 51.81% of executable text decompiled to C; handwritten assembly accounts for additional reproduced bytes.

The Sonic the Hedgehog 2 Source Reconstruction extends Sonic Retro's disassembly into shared 68000 and Z80 source for retail REV00 and REV01. It organizes modules by subsystem, models selected game data formats, and checks rebuilt ROMs byte for byte against the user's own images; the author also reports MAME runtime comparisons.

A labeled and commented 6502 assembly listing reconstructs Space Jockey, US Games' first Atari 2600 game from 1982, and sets the TIA read base so it compiles to the exact 2K ROM image. An assembler switch selects NTSC or a PAL listing taken from the Carrere Video release, whose changes to vertical blank timing and colors are documented. Header notes discuss the origin of its horizontal positioning routine, and comments label obstacle attributes such as shot and firing flags.

Splashdown reconstructs C++ source for the NTSC-U PlayStation 2 game and builds a native Linux x86-64 port from it. The project checks reconstructed functions and the linked executable against retail bytes and a SHA-1 hash. The author reports that all 4,356 game functions match and that the Linux port plays the full game at 30 FPS.

Spyro 2: Gateway to Glimmer is being reconstructed as matching C for the European PlayStation release SCES-021.04. The build uses GCC 2.7.2 and an ASPSX 2.56-compatible pipeline for the main executable and 32 WAD overlays. The author reports a byte-identical rebuild of the executable, overlays, and complete WAD while C replacement remains partial.

ssgdecomp reconstructs Super Solvers: Gizmos & Gadgets! with the aim of producing a bit-identical Windows executable. It uses the original ssgwin32.exe as an incremental starting point, builds with the period Borland toolchain, and compares PE sections and disassembly; its documented helpers inspect compiler output, import tables and OMF objects.

Reconstructs C source for the US 1.1 (Rev A) Nintendo 64 release of Star Fox 64 that, compiled with the IDO compiler through a static recompilation, rebuilds a ROM with the published MD5; the README badge counts all 2,951 functions as matching. Code and assets are split from the user’s own ROM at build time, and the repository contains no assets or assembly. The separately curated Starship PC port compiles this C code, while Starfox 64: Recompiled takes headers and some functions from it for its patches.

Street Fighter III 2nd Impact reconstructs the CPS3 arcade program as C and SH-2 assembly. The build uses the Hitachi SHC toolchain, reads graphics pattern tables from the user's ROM set, checks the linked program against the arcade program's SHA-1, and compares rebuilt SIMM chips with the supplied ROM chips. The byte-match figures are the author's report.

Stretch Panic reconstructs three PlayStation 2 releases from shared C/C++ source and compares each rebuilt executable’s loaded image byte for byte with the original. Its build splits a user-provided executable with splat, compiles matched functions with a pinned CodeWarrior toolchain, and assembles remaining functions; the author reports 589 of 1,351 game functions matched.

Super Mario Advance 4: Super Mario Bros. 3 U rev 1 is reconstructed as Armips assembly that the author reports reassembles to an exact ROM match. The project replaces ROM pointers with labels and supplies scripts to extract required graphics and sound data from the player's original ROM. A Wii U Virtual Console variant is supported when its data is supplied.

Super Mario Bros. Disassembly reconstructs seven NES, Vs. System, and Famicom Disk System releases as readable ca65 modules. Its build splits assets from user supplied images, rebuilds each supported revision, and compares the result byte for byte with the original; documentation maps source modules and game data formats.

Reconstructs C++ source for Super Mario Odyssey’s Switch 1.0 main executable and checks each function against the original AArch64 machine code with the shared nx-decomp-tools checker. At the pinned commit its function list marks 18,996 of 74,171 functions matching. The README warns that the build remains an unplayable source reconstruction, the repository ships no game assets, and Nintendo libraries such as sead and agl come from open-ead’s separate reconstructions.

Extends the doldecomp Super Mario Sunshine decompilation to the North American GMSE01 release. The README says AI was used extensively, and the repository’s agent rules, work order and progress files describe batch-based Claude and Codex orchestration. Its rebuilt DOL is reported byte-identical, but unfinished objects are still linked from code extracted from the user’s disc.

Reconstructs Super Mario Sunshine’s C++ source so that the original Metrowerks compiler reproduces byte-identical object files for four GameCube releases and the Switch 3D All-Stars build. The target binary comes from the user’s own disc image, and objdiff compares rebuilt objects function by function. The work is incomplete, and the repository publishes contribution rules for AI agents alongside its human workflow.

spm-decomp reconstructs selected Super Paper Mario code for Wii releases, chiefly the two PAL revisions, using decomp-toolkit and matching-object annotations. Its build reads a user-provided disc image; the project explicitly confines work to selected game components rather than the full game or a platform port.

A work-in-progress matching decompilation of Super Smash Bros. Brawl that targets the USA Rev 2 Wii release (RSBE01_02), splitting main.dol and 126 REL modules from a user-supplied disc image and checking the rebuilt binaries against stored SHA-1 values. objdiff compares objects during development, and six other regional revisions are listed but commented out of the supported set. decomp.dev reported 1.27% of code matched at the reviewed commit.

A matching decompilation of Super Smash Bros. Melee's US 1.02 release (GALE01) that rebuilds main.dol from C with the original Metrowerks compilers and checks it against the retail SHA-1. decomp.dev reports the code fully decompiled and linked at the reviewed commit, and the README says current work is mostly naming and cleanup. Because the build can be shifted, a separate non-matching mode lets modders add code to a DOL run with their own disc dump.

Atari's 1977 VCS game Surround is disassembled into labeled and commented 6502 assembly that compiles to the exact 2K ROM image. The listing names the zero-page variables, the game-variation flags for speed-up, wraparound, erase, diagonal movement and single-player play, the joystick and switch masks, and the score and playfield drawing routines, with a compile switch for NTSC or PAL builds.

Syndicate reconstructs the DOS game's code in C, compiling functions with a period Watcom toolchain and comparing the resulting machine code with the original. The repository also contains decoded assembly, game architecture notes and scripts for tracking matches and rebuilding an executable. The author reports that the rebuilt DOS program reaches playable missions.

Reconstructs much of the NTSC-U PlayStation 2 executable of Syphon Filter: The Omega Strain as C; with the remaining functions kept as split assembly, the build reproduces the retail SCUS_972.64 byte for byte. Committed objdiff reports track per-function matching against the user’s own executable. This is a matching-decompilation case; progress figures remain project-reported.

tactical-decomp reconstructs the USA PlayStation release of Final Fantasy Tactics as C89 matched against the original executable and disc blobs. It splits user-supplied disc data, replaces assembly stubs function by function and checks rebuilt bytes with comparison tools. A related static recompilation directory uses the decompilation's address map as input.

Tag Force 5 Decompilation reconstructs C source for the PSP release ULES-01474 of Yu-Gi-Oh! 5D's Tag Force 5. Its workflow extracts the user's ISO, analyses Allegrex code with Ghidra and splat, and compares Metrowerks-compiled functions against target assembly with relocation-aware diffs. The author reports 15 of 16 text functions matched in rel_movie_viewer.

Reconstructs source for the Japanese PC-98 Touhou 4: Lotus Land Story and rebuilds all four DOS programs, MAIN.EXE, OP.EXE, MAINE.EXE and ZUN.COM, with a pinned Borland toolchain under Wine. Function acceptance against the original binaries is tracked separately from emulator replays that compare inputs, RNG, object pools and video with the original game. Complete-campaign, original-timing and byte-identity goals remain open.

TH05 reconstructs source for the Japanese PC-98 Touhou 5: Mystic Square programs MAIN.EXE, OP.EXE, MAINE.EXE and ZUN.COM. Maintained C/C++ and reviewed assembly are compared against bounded original code and data extents, including raw bytes and relocation order. The project reports accepted units separately from its still unmeasured overall authored-byte goal.

th06 reconstructs C++ source for Touhou 6: Embodiment of Scarlet Devil retail version 1.02h from the original executable. The workflow uses headless Ghidra analysis, the original MSVC and DirectX toolchain under Wine, and byte comparisons of functions and the whole executable. The author reports that all 511 game functions and the rebuilt executable match the original, with replay traces compared separately.

th07: reconstructing Touhou 7 retail 1.00b

Independent reconstruction project

th07 reconstructs C++ for the retail 1.00b executable of Touhou 7: Perfect Cherry Blossom using Ghidra analysis, the original Visual C++ .NET 2002 toolchain and byte comparisons against a user supplied game copy. The author reports that its standalone executable matches all 650,752 bytes of the original and documents replay trace comparisons.

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.

This is a matching decompilation of The Incredibles for the GameCube, USA GICE78, built on Heavy Iron's EvilEngine. The retail main.dol has SHA-1 c7413be2fba5b8cc47b7506ecb7785677a4a1c12 and is copied to orig/GICE78/sys/main.dol. The project uses decomp-toolkit. Matched code is shared with the Ratatouille prototype and Rise of the Underminer decompilations.

The Jungle Book project disassembles the Game Boy game into banked assembly and supplies tools to extract assets from a user's ROM. Its analysis utilities render level maps, decompress LZ77 data, inspect level objects, and export animation frames; the author reports a byte-exact rebuild when the extracted assets are supplied.

Recreates a C source base for The Legend of Zelda: The Minish Cap from information in the game and static or dynamic analysis, building five Game Boy Advance ROMs: USA, EU, JP and two demos. Each version takes its assets from a user-supplied original ROM, and normal builds check the output’s SHA-1 hash. The project remains a work in progress, and some parts of the ROM may not yet be shiftable.

The New Tetris project reconstructs source for the US 1.0 Nintendo 64 game through static and dynamic analysis. Its build uses a user-provided ROM to extract assets and assembly, compiles the recovered C source, and checks the output ROM against a documented MD5. The source reconstruction is described as work in progress.

This matching decompilation reconstructs C++ functions from the 1996 Windows release of The Oregon Trail, targeting Oregon32.exe and OREGON32.DLL. It compares functions compiled with Visual C++ 4.0 against the originals while accounting for relocated operands; the author reports 35,926 recovered instructions out of 64,499 inventoried.

The Sims: Bustin' Out project reconstructs parts of the USA G4ME69 GameCube executable in C and C++, using SN Systems ProDG for game code. A patched decomp-toolkit splits main.dol into objects; the build substitutes matching source objects and compares the relinked executable with the user's disc copy. The author reports 6.24% of code matched.

Rebuilds the USA/Europe Game Boy Advance release of The Sims: Bustin' Out byte for byte while gradually replacing ROM regions with matching C compiled by agbcc. The README calls it an AI-driven experiment in which almost all code, analysis and tooling are AI-generated. Most of the ROM is still copied from the user’s dump.

The Urbz: Sims in the City GameCube decompilation reconstructs game code for the GUBE69 release. Its decomp.wtf and decomp-toolkit workflow configures a main.dol rebuild, compares the result byte for byte with the user's copy, and uses objdiff to inspect function progress. The repository includes game-specific C sources, symbols, and split configuration.

Reconstructs source for The Wind Waker’s GameCube executable and REL modules across the USA/Korea, PAL and Japanese releases and a Japanese kiosk demo. Matched units are compiled from source and linked with objects split from the user’s disc, then checked against per-version SHA-1 hashes; the repository ships no assets or assembly and covers the GameCube game, not the HD remaster.

THPS2 Demo Decompilation publishes recovered C/C++ for the PlayStation Tony Hawk's Pro Skater 2 competition demo. The author reports exact object-code matches for 1,635 of 1,646 functions; the public snapshot can compile-check source units but excludes inputs needed to reproduce the match measurement.

Thunderclap reconstructs the Xbox release of The Incredible Hulk: Ultimate Destruction in C++ for a planned native port. It byte-compares smaller functions with the original compiler and checks larger functions through differential execution against the original. The author reports source for all game functions and a Wine build that reaches the first mission.

Tingle Tuner reconstructs the GBA client that The Wind Waker sends to a linked Game Boy Advance, covering Japanese, US, PAL and demo builds. Its C, assembly and LZ77 packer rebuild hash-checked client images from user-supplied discs, while separate documentation maps the GameCube-to-GBA JOY bus protocol.

↑↓ move↵ open⌘↵ new tab