Don't want to see articles from a certain category? When logged in, go to your User Settings and adjust your feed in the Content Preferences section where you can block tags!
Latest Comments by F.Ultra
Take-Two filed a lawsuit against the reverse-engineered GTA III and Vice City developers
5 September 2021 at 11:44 pm UTC Likes: 2

Quoting: slapin
Quoting: F.Ultra
Quoting: slapin
Quoting: F.Ultra
Quoting: slapin
Quoting: F.UltraClaim 28 is quite damaging to the reverse-engineering team:
Quote28. Papenhoff has admitted that the source code developed via the re3 and reVC
projects is not original, but rather is (and was intended to be) a copy of the original. In fact,
Defendants have bragged that their derivative source code was created by working backwards
from Take-Two’s final “machine” code to re-create the human-readable code in which GTA was
programmed:

“GTA 3 and Vice City were originally written in [programming
language] C++ . . . The compiled executables that are shipped are in
machine code. So the general task is to go from machine code back to
C++. . . . To go back to C++ is by no means a simple 1:1 mapping, but
over the last 10 or so years decompilers have appeared that help with this
process. . . . So what we typically do is work with the output of the
decompiler and massage it back into readable C++.” Id.


If this is true and it appears to be so, then this is in fact copyright infringement and not something that any of us really can defend.
This shows that plaintif and you did not understand what reverse engineers say:
1. GTA code was written in C++
2. They managed to create their own code in C++ working in the same way as GTA code.
If you read they took original GTA code, you need to check your sight.

That is not what they did, what they did is:

1. GTA code was written in C++
2. They used a decompiler to turn the GTA binary into fully working C++ code
3. They did changes to the generated C++ code to implement the changes they wanted to make

T2 owns the copyright to the C++ code of the game, but they also of course owns the copyright to the compiled binary so when you use a decompiler to turn the copyrighted binary machine code into autogenerated C++ code then you have just made a 1:1 transformation of the copyrighted code, so this step does not remove any copyrights.

Had they instead used a disassembler to look at how the game engine worked and then wrote their own C++ code based on that observation then what you said would be true, but that is not what they did according to their own wording. Hence why they will have a very hard time making a defense here. But then I'm not a lawyer, not do I play one on TV.

IIRC there is no decompiled code in re3 source. Also they explained they used dll injection process which would be totally meaningless if they had just decompiled it.
QuoteWe were lucky that we had symbols from PS2 gta3 and the android games. other than that it was a lot of reading code in IDA and massaging it back into c++. I made a little video about part of the process [1] but i never did part 2.

The strategy for gta3 was to replace function by function of the game until we had everything replaced. for VC we evolved our existing code base by, again, reversing function by function until we had everything done. Just not by dll injection this time.

[1] https://www.youtube.com/watch?v=22BeuOOERLo

You can also read whole discussion: https://news.ycombinator.com/item?id=26130320

Well I do hope for their sake that you are correct and they can prove it, because the T2 lawyers have the main Re3 dev quoted as having written: "So what we typically do is work with the output of the decompiler and massage it back into readable C++"

edit: He have also made a YouTube video where it's quite clear that he cleans up autogenerated decompiler c++ code: https://www.youtube.com/watch?v=22BeuOOERLo&t=48s

It looks like you never seen a line of code in your life. They get "decompiled" junk which is mostly useless, and look at assembler output to guess what that is really doing and implement particular piece of code. No "decompiled" "code" remains in the process. Because that code is useless unreadable piece of junk. Usually the "decompile" portion is used to have sense of progress and have easier feel of control flow because disassembly might be too intimidating in large hunks, also compilers add various generated portions of code which can be lots and lots of jumps in there and it is a bit easier to look at these in "decompiled" output because semantic labels are there and some control flow operators and function calls are there. It does not produce useful code however, it is just better disassembly. It does not change the notion of looking at machine code then writing your own code. You should write totally your own code in the end. The decompile part is just to produce aid, it is impossible to use the output directly. And even if you manage to make that decompiled code work in your case, that will be too obvious because it will look like gibberish and there is no such code in re3 as I can tell. So it is safe to assume that reverse engineering was done right and the code produced is not Take-Two's code. All the harm portions are also sound not spectacular. There might be some if somebody would sell these games with assets of original games, but nothing like that happens. I guess Take-Two is the only game company in the world which considers modders as harm to their sales. So I guess the harm of the processing will surpass any harm which ever could be from modding these games.
And they should fail now or else lots of projects now are in danger.

Yes, only having coded since 1982 makes me never have seen a single line of code if I'm in disagreement with you. Further I did both crack games when I was a teenager and have reverse engineered both software and communications protocols on a professional basis long before decompilers where as good as they are today.

Did you even see the video that I linked? That is Papenhoff cleaning up the output from a decompiler to have it compile and it's for the part of GTA3 that handles environmental garbage (newspapers and leaves). Please inform me on how this didn't happen, you know the very thing that he himself documented in a video!

And to quote Papenhoff for the third time since you keep ignoring it: "So what we typically do is work with the output of the decompiler and massage it back into readable C++." - that is his own words - not mine - and it's from those that I base my comments on that it looks like they indeed did commit copyright infringement.

And again I do hope that you are correct and there is just some form of miscommunication by Papenhoff when he describes what he did. But IF he did what he himself have told that he did then he is on the wrong side.

edit: and you are also forgetting that the GTA3 binary contained debugging symbols, T2 forgot to strip the binaries.

Take-Two filed a lawsuit against the reverse-engineered GTA III and Vice City developers
4 September 2021 at 11:17 pm UTC

Quoting: slapin
Quoting: F.Ultra
Quoting: slapin
Quoting: F.UltraClaim 28 is quite damaging to the reverse-engineering team:
Quote28. Papenhoff has admitted that the source code developed via the re3 and reVC
projects is not original, but rather is (and was intended to be) a copy of the original. In fact,
Defendants have bragged that their derivative source code was created by working backwards
from Take-Two’s final “machine” code to re-create the human-readable code in which GTA was
programmed:

“GTA 3 and Vice City were originally written in [programming
language] C++ . . . The compiled executables that are shipped are in
machine code. So the general task is to go from machine code back to
C++. . . . To go back to C++ is by no means a simple 1:1 mapping, but
over the last 10 or so years decompilers have appeared that help with this
process. . . . So what we typically do is work with the output of the
decompiler and massage it back into readable C++.” Id.


If this is true and it appears to be so, then this is in fact copyright infringement and not something that any of us really can defend.
This shows that plaintif and you did not understand what reverse engineers say:
1. GTA code was written in C++
2. They managed to create their own code in C++ working in the same way as GTA code.
If you read they took original GTA code, you need to check your sight.

That is not what they did, what they did is:

1. GTA code was written in C++
2. They used a decompiler to turn the GTA binary into fully working C++ code
3. They did changes to the generated C++ code to implement the changes they wanted to make

T2 owns the copyright to the C++ code of the game, but they also of course owns the copyright to the compiled binary so when you use a decompiler to turn the copyrighted binary machine code into autogenerated C++ code then you have just made a 1:1 transformation of the copyrighted code, so this step does not remove any copyrights.

Had they instead used a disassembler to look at how the game engine worked and then wrote their own C++ code based on that observation then what you said would be true, but that is not what they did according to their own wording. Hence why they will have a very hard time making a defense here. But then I'm not a lawyer, not do I play one on TV.

IIRC there is no decompiled code in re3 source. Also they explained they used dll injection process which would be totally meaningless if they had just decompiled it.
QuoteWe were lucky that we had symbols from PS2 gta3 and the android games. other than that it was a lot of reading code in IDA and massaging it back into c++. I made a little video about part of the process [1] but i never did part 2.

The strategy for gta3 was to replace function by function of the game until we had everything replaced. for VC we evolved our existing code base by, again, reversing function by function until we had everything done. Just not by dll injection this time.

[1] https://www.youtube.com/watch?v=22BeuOOERLo

You can also read whole discussion: https://news.ycombinator.com/item?id=26130320

Well I do hope for their sake that you are correct and they can prove it, because the T2 lawyers have the main Re3 dev quoted as having written: "So what we typically do is work with the output of the decompiler and massage it back into readable C++"

edit: He have also made a YouTube video where it's quite clear that he cleans up autogenerated decompiler c++ code: https://www.youtube.com/watch?v=22BeuOOERLo&t=48s

Take-Two filed a lawsuit against the reverse-engineered GTA III and Vice City developers
4 September 2021 at 10:03 pm UTC

Quoting: emphy
Quoting: F.UltraClaim 28 is quite damaging to the reverse-engineering team:
Quote28. Papenhoff has admitted that the source code developed via the re3 and reVC
projects is not original, but rather is (and was intended to be) a copy of the original. In fact,
Defendants have bragged that their derivative source code was created by working backwards
from Take-Two’s final “machine” code to re-create the human-readable code in which GTA was
programmed:

“GTA 3 and Vice City were originally written in [programming
language] C++ . . . The compiled executables that are shipped are in
machine code. So the general task is to go from machine code back to
C++. . . . To go back to C++ is by no means a simple 1:1 mapping, but
over the last 10 or so years decompilers have appeared that help with this
process. . . . So what we typically do is work with the output of the
decompiler and massage it back into readable C++.” Id.


If this is true and it appears to be so, then this is in fact copyright infringement and not something that any of us really can defend.

Since running the software requires the original data files, it is easily defended as a case of fair use. If it turns out not to be so in the courts, it'd be time to ask some pointed questions as to why copyright law is so broken that it isn't.

Fair Use applies to you the end user so you are not performing a copyright infringement by running Re3 with your purchased data files, the devs behind Re3 however infringes on T2:s right to sell the game at a premium on the Switch if they infringed on T2:s copyright when they created Re3.

Take-Two filed a lawsuit against the reverse-engineered GTA III and Vice City developers
4 September 2021 at 9:55 pm UTC Likes: 1

Quoting: slapin
Quoting: F.UltraClaim 28 is quite damaging to the reverse-engineering team:
Quote28. Papenhoff has admitted that the source code developed via the re3 and reVC
projects is not original, but rather is (and was intended to be) a copy of the original. In fact,
Defendants have bragged that their derivative source code was created by working backwards
from Take-Two’s final “machine” code to re-create the human-readable code in which GTA was
programmed:

“GTA 3 and Vice City were originally written in [programming
language] C++ . . . The compiled executables that are shipped are in
machine code. So the general task is to go from machine code back to
C++. . . . To go back to C++ is by no means a simple 1:1 mapping, but
over the last 10 or so years decompilers have appeared that help with this
process. . . . So what we typically do is work with the output of the
decompiler and massage it back into readable C++.” Id.


If this is true and it appears to be so, then this is in fact copyright infringement and not something that any of us really can defend.
This shows that plaintif and you did not understand what reverse engineers say:
1. GTA code was written in C++
2. They managed to create their own code in C++ working in the same way as GTA code.
If you read they took original GTA code, you need to check your sight.

That is not what they did, what they did is:

1. GTA code was written in C++
2. They used a decompiler to turn the GTA binary into fully working C++ code
3. They did changes to the generated C++ code to implement the changes they wanted to make

T2 owns the copyright to the C++ code of the game, but they also of course owns the copyright to the compiled binary so when you use a decompiler to turn the copyrighted binary machine code into autogenerated C++ code then you have just made a 1:1 transformation of the copyrighted code, so this step does not remove any copyrights.

Had they instead used a disassembler to look at how the game engine worked and then wrote their own C++ code based on that observation then what you said would be true, but that is not what they did according to their own wording. Hence why they will have a very hard time making a defense here. But then I'm not a lawyer, not do I play one on TV.

Take-Two filed a lawsuit against the reverse-engineered GTA III and Vice City developers
4 September 2021 at 9:50 pm UTC

Quoting: slaapliedje
Quoting: F.Ultra
Quoting: slaapliedje
Quoting: F.UltraClaim 28 is quite damaging to the reverse-engineering team:
Quote28. Papenhoff has admitted that the source code developed via the re3 and reVC
projects is not original, but rather is (and was intended to be) a copy of the original. In fact,
Defendants have bragged that their derivative source code was created by working backwards
from Take-Two’s final “machine” code to re-create the human-readable code in which GTA was
programmed:

“GTA 3 and Vice City were originally written in [programming
language] C++ . . . The compiled executables that are shipped are in
machine code. So the general task is to go from machine code back to
C++. . . . To go back to C++ is by no means a simple 1:1 mapping, but
over the last 10 or so years decompilers have appeared that help with this
process. . . . So what we typically do is work with the output of the
decompiler and massage it back into readable C++.” Id.


If this is true and it appears to be so, then this is in fact copyright infringement and not something that any of us really can defend.
They recreated the C++ code from the machine code disassembled, then patched it to compile on different platforms... From my understanding that's still one valid way of reverse engineering. The other method of course is to study the data files and create code around interpreting it. Copyright infringement would only be if they literally took the original source code and copied it. That's the part that is copyrighted. Using a disassembler is not illegal in any sense of the word.

Using a disassembler just to look at the code is not illegal no, but if the binary machine code is copyrighted to T2 then the disassembled C++ code is also copyrighted to T2 since its derived from the copyrighted binary. There is precedence here in Sega vs Accolade where the appeals court decided that disassembled code is "fruit of the poisonous tree".

However they also decided that it fell under the fair use doctrine since "disassembly is required for humans to understand object code", but as I see it this does not apply here since the disassembled code was not used to understand how the game engine worked, it was used 1:1 to create the base source code of the project.

Arguing that this is legal would IMHO break the copyright protection that we have on GPL:ed code, in that companies can take our code as base and then do "changes" to it and now claim their own copyright on it and make it proprietary.
Ah, my interpretation was that they rewrote the C++ code based on the assembly code. Not that they basically just did a translation of it to C++ and copied it.
Quoting: slaapliedje
Quoting: F.Ultra
Quoting: slaapliedje
Quoting: F.UltraClaim 28 is quite damaging to the reverse-engineering team:
Quote28. Papenhoff has admitted that the source code developed via the re3 and reVC
projects is not original, but rather is (and was intended to be) a copy of the original. In fact,
Defendants have bragged that their derivative source code was created by working backwards
from Take-Two’s final “machine” code to re-create the human-readable code in which GTA was
programmed:

“GTA 3 and Vice City were originally written in [programming
language] C++ . . . The compiled executables that are shipped are in
machine code. So the general task is to go from machine code back to
C++. . . . To go back to C++ is by no means a simple 1:1 mapping, but
over the last 10 or so years decompilers have appeared that help with this
process. . . . So what we typically do is work with the output of the
decompiler and massage it back into readable C++.” Id.


If this is true and it appears to be so, then this is in fact copyright infringement and not something that any of us really can defend.
They recreated the C++ code from the machine code disassembled, then patched it to compile on different platforms... From my understanding that's still one valid way of reverse engineering. The other method of course is to study the data files and create code around interpreting it. Copyright infringement would only be if they literally took the original source code and copied it. That's the part that is copyrighted. Using a disassembler is not illegal in any sense of the word.

Using a disassembler just to look at the code is not illegal no, but if the binary machine code is copyrighted to T2 then the disassembled C++ code is also copyrighted to T2 since its derived from the copyrighted binary. There is precedence here in Sega vs Accolade where the appeals court decided that disassembled code is "fruit of the poisonous tree".

However they also decided that it fell under the fair use doctrine since "disassembly is required for humans to understand object code", but as I see it this does not apply here since the disassembled code was not used to understand how the game engine worked, it was used 1:1 to create the base source code of the project.

Arguing that this is legal would IMHO break the copyright protection that we have on GPL:ed code, in that companies can take our code as base and then do "changes" to it and now claim their own copyright on it and make it proprietary.
Ah, my interpretation was that they rewrote the C++ code based on the assembly code. Not that they basically just did a translation of it to C++ and copied it.

Papenhoff specifically mentioned that they used a decompiler (the suit is quoting his own words) and not a disassembler so they turned the binary into c++ code directly with a decompiler.

Take-Two filed a lawsuit against the reverse-engineered GTA III and Vice City developers
3 September 2021 at 8:12 pm UTC Likes: 5

Quoting: slaapliedje
Quoting: F.UltraClaim 28 is quite damaging to the reverse-engineering team:
Quote28. Papenhoff has admitted that the source code developed via the re3 and reVC
projects is not original, but rather is (and was intended to be) a copy of the original. In fact,
Defendants have bragged that their derivative source code was created by working backwards
from Take-Two’s final “machine” code to re-create the human-readable code in which GTA was
programmed:

“GTA 3 and Vice City were originally written in [programming
language] C++ . . . The compiled executables that are shipped are in
machine code. So the general task is to go from machine code back to
C++. . . . To go back to C++ is by no means a simple 1:1 mapping, but
over the last 10 or so years decompilers have appeared that help with this
process. . . . So what we typically do is work with the output of the
decompiler and massage it back into readable C++.” Id.


If this is true and it appears to be so, then this is in fact copyright infringement and not something that any of us really can defend.
They recreated the C++ code from the machine code disassembled, then patched it to compile on different platforms... From my understanding that's still one valid way of reverse engineering. The other method of course is to study the data files and create code around interpreting it. Copyright infringement would only be if they literally took the original source code and copied it. That's the part that is copyrighted. Using a disassembler is not illegal in any sense of the word.

Using a disassembler just to look at the code is not illegal no, but if the binary machine code is copyrighted to T2 then the disassembled C++ code is also copyrighted to T2 since its derived from the copyrighted binary. There is precedence here in Sega vs Accolade where the appeals court decided that disassembled code is "fruit of the poisonous tree".

However they also decided that it fell under the fair use doctrine since "disassembly is required for humans to understand object code", but as I see it this does not apply here since the disassembled code was not used to understand how the game engine worked, it was used 1:1 to create the base source code of the project.

Arguing that this is legal would IMHO break the copyright protection that we have on GPL:ed code, in that companies can take our code as base and then do "changes" to it and now claim their own copyright on it and make it proprietary.

Take-Two filed a lawsuit against the reverse-engineered GTA III and Vice City developers
3 September 2021 at 7:58 pm UTC Likes: 1

Quoting: scaine
Quoting: LachuSentence about lost of market, because game will be available on new platform is stupid. People must still buy an license to play on these new platforms, so Reverse Engineering team made a big gift for Take Two. It must not port game code to the new platform, so save many money. And it will receive profits, because users of these new platforms will buy an game licenses.

QuoteDefendants have sought to exploit a potential market that belongs exclusively to Take-Two

Yep, completely agree. Since you need the original game to use this re-engineered engine, T2 still own the market, still get all profits. Indeed, they do so without any support burden, or risk.

Nearly... oh so nearly picked up GTA-V in the last sale, but glad I didn't now. Last GTA I paid for was 3, funnily enough, back on the PS2, I think, or maybe PS3. I used to work in the same building as the R*N guys too. Of course, this isn't about them as devs, just their knee-jerk publishers.

Not really, with a free implementation of GTA3 you can buy say the cheap pc version to get the assets and then use this free port to have the game on the Switch, meanwhile T2 want you to pay a premium to be able to play GTA3 on the Switch so the free version have "taken that market away from T2".

Take-Two filed a lawsuit against the reverse-engineered GTA III and Vice City developers
3 September 2021 at 2:32 pm UTC

Quoting: CFWhitman
Quoting: 3qET7rL9BdI might be misunderstanding but it doesn't look like a clean room implementation like OpenRA, CorsixTH, OpenMW and GemRB. Instead they've reversed engineered the binaries to get the source code.

QuoteAs long as it's not linux/cross-platform skeleton/compatibility layer, all of the code on the repo that's not behind a preprocessor condition(like FIX_BUGS) are completely reversed code from original binaries.

Clean room re-implementations are reverse engineered. Of course, a clean room re-implementation is done as follows:

Someone analyzes the original program to figure out how it works/interfaces with other software. They document this as they go along without any references to actual code.

Someone else takes the documentation and writes compatible code without ever directly seeing how the original code works.

The information presented here doesn't actually reveal whether this reverse engineering was done in a "clean room" manner or not.

Another way it so simply observe how the original application/game works and try to recreate it from there. In this particular case it does look like they just went with a decompiler (see my post two posts up).

Take-Two filed a lawsuit against the reverse-engineered GTA III and Vice City developers
3 September 2021 at 2:30 pm UTC Likes: 1

Quoting: monyarm
Quoting: 3qET7rL9BdI might be misunderstanding but it doesn't look like a clean room implementation like OpenRA, CorsixTH, OpenMW and GemRB. Instead they've reversed engineered the binaries to get the source code.

Ya, that's not how that works. Literally all open source implementations reverse engineer the original binaries. (even Zdoom, as the support for games like strife and the like had to be reverse engineered). That's how it's done. ScummVM for example recommends that new contributors should use a combination of debuggers and IDAPro (A tool for reverse engineering). And even then, reverse engineering doesn't give you the source code, rather it gives you c-like pseudocode for a given function, pseudocode which lacks names, types, structs, and has plenty of mistakes. It's a long and arduous process to reverse engineer anything.

Huge difference here is that ScummVM only reverses either public domain games or with
Quoting: monyarm
Quoting: 3qET7rL9BdI might be misunderstanding but it doesn't look like a clean room implementation like OpenRA, CorsixTH, OpenMW and GemRB. Instead they've reversed engineered the binaries to get the source code.

Ya, that's not how that works. Literally all open source implementations reverse engineer the original binaries. (even Zdoom, as the support for games like strife and the like had to be reverse engineered). That's how it's done. ScummVM for example recommends that new contributors should use a combination of debuggers and IDAPro (A tool for reverse engineering). And even then, reverse engineering doesn't give you the source code, rather it gives you c-like pseudocode for a given function, pseudocode which lacks names, types, structs, and has plenty of mistakes. It's a long and arduous process to reverse engineer anything.

Big difference there is that both Zdoom and ScummVM does this with the blessing of the copyright holders. Strife was reversed when the original author discovered that all the source code had vanished due to the servers it being held on had been sold.

Take-Two filed a lawsuit against the reverse-engineered GTA III and Vice City developers
3 September 2021 at 2:06 pm UTC Likes: 1

Claim 28 is quite damaging to the reverse-engineering team:
Quote28. Papenhoff has admitted that the source code developed via the re3 and reVC
projects is not original, but rather is (and was intended to be) a copy of the original. In fact,
Defendants have bragged that their derivative source code was created by working backwards
from Take-Two’s final “machine” code to re-create the human-readable code in which GTA was
programmed:

“GTA 3 and Vice City were originally written in [programming
language] C++ . . . The compiled executables that are shipped are in
machine code. So the general task is to go from machine code back to
C++. . . . To go back to C++ is by no means a simple 1:1 mapping, but
over the last 10 or so years decompilers have appeared that help with this
process. . . . So what we typically do is work with the output of the
decompiler and massage it back into readable C++.” Id.


If this is true and it appears to be so, then this is in fact copyright infringement and not something that any of us really can defend.