Breath of the Wild fans have already recreated 17% of the game’s code

Fans Are Reconstructing Breath of the Wild's Source Code, and They're Already 17% Done

A group of developers is doing something that a few years ago would have seemed completely out of reach: taking The Legend of Zelda: Breath of the Wild for Nintendo Switch and reconstructing its original source code from scratch, function by function. The Breath of the Wild decompilation project, hosted on GitHub under the name zeldaret/botw and led by the Zelda Reverse Engineering Team (ZeldaRET), has already cracked 17.035% of the game’s main executable, and it’s still actively moving forward.

The target is version 1.5.0 of the Switch release. The repository contains no game assets, no RomFS content, and cannot be used to play the game in any way. That distinction matters, and the team makes it explicitly clear on their official website.

What decompilation actually means and why it’s hard

Decompilation is the process of taking compiled machine code, the raw instructions a processor runs, which are essentially unreadable to humans, and turning it back into equivalent source code that developers can understand and study. For a game like Breath of the Wild, that means reading the compiled binary, figuring out what each piece of code does, and then rewriting that logic in C++.

This project goes even further by using a technique called matching decompilation, which requires the reconstructed source code to compile into the exact same machine code as Nintendo’s original build. Every function has to match byte for byte. That’s the only way to guarantee the reimplementation is truly faithful to the original logic, and it also makes verification straightforward: the output gets compared directly against the original executable.

The game is fully written in C++11 or C++14, and the Switch 1.5.0 build was most likely compiled with Clang 4.0, Nintendo is known to use their own proprietary fork of LLVM/Clang, though the team has been able to match a significant amount of code using the publicly available version of that compiler. Version 1.5.0 was specifically chosen because working with Clang is considerably more manageable than dealing with the Wii U’s proprietary compiler, which would have made the whole process dramatically harder.

One of the things that makes this project uniquely challenging is that all known release builds of Breath of the Wild are fully stripped, meaning no symbols, no original function names, no variable names. Nothing. Unlike games such as Super Mario Odyssey, which shipped with debug information that gave reverse engineers a head start, BotW forces the team to name everything themselves based on leftover strings scattered throughout the binary and educated guesses built up over time.

As more of the game gets reimplemented, patterns emerge and naming gets easier, it’s a slow but self-reinforcing process.

Breath of the Wild fans have already recreated 17% of the game’s code

The Breath of the Wild Decompilation is not a PC port, but the door isn’t closed forever

The team is completely transparent about the purpose of this project: the goal is to better understand the game’s internals, assist with glitch hunting, and document existing knowledge in a permanent and unambiguous form that helps the broader reverse engineering community. That’s it. Porting Breath of the Wild to PC or any other platform is explicitly listed as a non-goal, and the team has been consistent about this from day one.

The main executable they’re working on is approximately 40MB in size, enormous by decompilation project standards, and with a limited number of contributors, reaching 100% is not expected to happen anytime soon. The project itself acknowledges this openly. Even if someone dumped the fully decompiled executable tomorrow, you still couldn’t play the game without separately dumping the RomFS from a Switch console. The code alone doesn’t make the game run.

That said, the history of decompilation projects in the gaming community tells an interesting story. Ocarina of Time and Super Mario 64 both had their source code reconstructed through similar community-driven efforts, and those projects eventually paved the way for native PC ports built by other developers who came after. The ZeldaRET team is not building a port, but once a codebase is open source and fully understood, someone else always can. That’s simply how open source works.

The project does not use any proprietary Nintendo SDK, no leaked documents, and not a single byte of original assembly code from the executable is included in the repository. Anyone who has had access to leaked BotW information is explicitly not allowed to contribute. Legally, the team considers the project to sit in a gray zone, but believes it is unlikely to draw legal action precisely because contributing requires owning the game, dumping the executable yourself, and the repository is completely useless to anyone who doesn’t already have it.

For those interested in contributing, the bar is lower than you might expect. Familiarity with C++ basics, classes, namespaces, object-oriented concepts, is enough to get started. The team has a dedicated Discord server and contributing documentation at botw.link for anyone who wants to get involved.

At 17.035% and counting, the Breath of the Wild decompilation is one of the most ambitious reverse engineering efforts in modern gaming. Whether it ever leads somewhere beyond pure research is a question for the future, but the work being done right now is genuinely remarkable on its own.

What do you think about this project? Would you want to see BotW fully decompiled, and what would you hope comes out of it? Let us know in the comments!