They took the distributed game binary and ran it through a tool that produced an approximation of source code. At this point the decompiled code is clearly a mechanical transformation of the game binary, and so holds the same copyright status. This code is then cleaned up such that it compiles and functions and variables are given sensible names. This is, arguably, a creative endeavour, but it's also clearly a derivative work of the original binary and so is still controlled by copyright law.
The decompilation itself may or may not be a copyright violation - that's likely to vary depending on jurisdiction. If someone in a jurisdiction where it's legal were to write a description of the behaviour of the decompiled code and if someone else were to implement a codebase that happened to compile to the same original binary code then there's an argument that no infringement occurred (a functional description of the behaviour of a work is potentially not derivative of that work, and re-implementing the code based on that description is then not constrained by the original copyright), but that's not what happened here.
I don't like that this is the case, but let's take it to a logical conclusion - if I take an interpreted language with a bytecode compiler, I can typically decompile it to something almost 100% identical to the original code (I'd lose comments and maybe variable names, but that depends on the language). Does this mean I can take copyrighted Python code, run it through the interpreter, dump the state, decompile it, and have an independent work not subject to the original license?
> The object code of a program may be copyrighted as expression, 17 U.S.C. § 102(a), but it also contains ideas and performs functions that are not entitled to copyright protection. See 17 U.S.C. § 102(b).
> Object code cannot, however, be read by humans.
> The unprotected ideas and functions of the code therefore are frequently undiscoverable in the absence of investigation and translation that may require copying the copyrighted material.
> We conclude that, under the facts of this case and our precedent, Connectix's intermediate copying and use of Sony's copyrighted BIOS was a fair use for the purpose of gaining access to the unprotected elements of Sony's software.
Not only are the methods of operation which underlie the code completely unprotected, the copying of and the application of tools to the code for the purpose of exercising your right to discover those unprotected elements is fair use.
Where's the disagreement there? The court concluded that reverse engineering to gain access to the non-copyrightable elements the object code contained was legitimate. It didn't assert that decompiled code wasn't subject to copyright.
Yes. It also provides access to the copyrightable elements of the code. In this respect the decompiled code is identical to the object code, which is also made up of a mixture of copyrightable and non-copyrightable elements. Combining copyrightable and non-copyrightable elements into one thing gives you a work that copyright can be asserted over. The argument in the case you cited is that the defendant extracted the non-copyrightable elements and built their own work based on those. That's not what's happening in the case under discussion here, which is derived from the copyrightable elements as well.
The decompilation itself may or may not be a copyright violation - that's likely to vary depending on jurisdiction. If someone in a jurisdiction where it's legal were to write a description of the behaviour of the decompiled code and if someone else were to implement a codebase that happened to compile to the same original binary code then there's an argument that no infringement occurred (a functional description of the behaviour of a work is potentially not derivative of that work, and re-implementing the code based on that description is then not constrained by the original copyright), but that's not what happened here.
I don't like that this is the case, but let's take it to a logical conclusion - if I take an interpreted language with a bytecode compiler, I can typically decompile it to something almost 100% identical to the original code (I'd lose comments and maybe variable names, but that depends on the language). Does this mean I can take copyrighted Python code, run it through the interpreter, dump the state, decompile it, and have an independent work not subject to the original license?