What is the difference between recompiled and decompiled games?
I will just let AI give the explanation. I am just lazy:
Decompilation involves human-led reverse engineering where researchers manually reconstruct the original source code from the game’s compiled binary. Using tools like IDA or Ghidra, developers analyze assembly code to rewrite it in a high-level language like C, aiming to match the original source logic. This process is extremely time-consuming, often taking years of skilled labor for a single title (e.g., The Legend of Zelda: Ocarina of Time for Ship of Harkinian). However, the result is clean, human-readable source code that allows for deep structural modifications, such as rewriting game engines, adding multiplayer modes, or creating entirely new features. Because it produces a derivative work, decompilation projects often face stricter copyright considerations regarding distribution.
Recompilation (specifically static recompilation) is an automated process where a tool mechanically translates the original machine code into an intermediate representation, typically C or C++, which is then compiled for a modern architecture. Tools like N64Recomp or XenonRecomp convert instructions one-to-one without requiring human analysis of the logic. This approach is rapid and scalable; once the recompiler tool is built, many games can be ported in minutes or hours. The output is functionally identical but not human-readable, making deep internal modifications difficult. Instead, enhancements like widescreen support or higher frame rates are added via hooks. Recompilation is often considered more copyright-friendly because the original binary is translated by the end-user, and only the modifications or the recompiler tool are distributed, not a full reconstructed source codebase.