10 votes

Inside the fight to save video game history - Publishers and preservationists are fighting over how old video games can be saved from digital obsolescence

6 comments

  1. [6]
    PhantomBand
    Link
    Now this bit in particular is interesting. I mean, props to them for trying to preserve games, but I already placed my bets on piracy (particulary private trackers) to take care of that problem....

    They even alter a game’s source code so games with online requirements can still be played after their authentication servers have gone offline.

    Now this bit in particular is interesting. I mean, props to them for trying to preserve games, but I already placed my bets on piracy (particulary private trackers) to take care of that problem. This though, is beyond the scope of most, and is a very interesting bit. Not sure how they manage to get their hands on the source code though, as the vast majority of games are closed source and code of older games just gets thrown away sometimes (as Konami did with the older Silent Hill games).

    3 votes
    1. [5]
      cfabbro
      (edited )
      Link Parent
      You don't necessarily need to get your hands on the original source code in order to alter a closed source game. You can still accomplish that without it by using reverse engineering techniques...

      You don't necessarily need to get your hands on the original source code in order to alter a closed source game. You can still accomplish that without it by using reverse engineering techniques such as decryption, decompression, decompiling, or even runtime memory editing. And then combining that with either recompiling, system hooks (such as DLL injection), or buffer overflows, in order to get the game to run your code alterations. Crackers, Modders, and ROM hackers have been using those same techniques for decades to accomplish such things.

      E.g. From my own personal experience. Dead Island had major issues at launch, some totally game-breaking, and many that were not really game-breaking but that I still found unbearable. So on the CheatEngine forums I hooked up with a small group of reverse engineers who had managed to decrypt and decompress the game's PAK files, which contained most of the game's assets, including its Lua scripts. And together we worked on modifying those in order to release a community patch + trainer that fixed a lot of the game's issues, and even added in a bunch more game functionality (and cheats). I personally worked on a lot of the visual elements, like adding the ability to adjust or even totally disable the game's fog, bokeh, bloom, motion blur, etc. which were originally overbearing, and not adjustable via the in-game settings or CFG files.

      Thankfully we didn't have to do anything serious to force the game to load the altered assets though, since by simply putting them back in the game directory using the same file structure as was seen in the PAK files, the game prioritized loading those instead of the ones still in the PAK files.

      p.s. You may have even seen the "Fist Of The Dead Star" video, which was made using our patch+trainer... and which even got so popular that the game devs clearly saw it, since they ended up adding an official game mode in the Definitive Edition which replicates elements of it. :P

      8 votes
      1. [2]
        PhantomBand
        Link Parent
        Ah, interesting. Are there still things off-limits though, like compared to say, what you could achieve if the same games were open source? Cool stuff!

        You don't necessarily need to get your hands on the original source code in order to alter a closed source game. You can still accomplish that without it by using reverse engineering techniques such as decryption, decompression, decompiling, or even runtime memory editing. And then combining that with either recompiling, system hooks (such as DLL injection), or buffer overflows, in order to get the game to run your code alterations. Crackers, Modders, and ROM hackers have been using those same techniques for decades to accomplish such things.

        Ah, interesting. Are there still things off-limits though, like compared to say, what you could achieve if the same games were open source?

        E.g. From my own personal experience. Dead Island had major issues at launch, some totally game-breaking, and many that were not really game-breaking but that I still found unbearable. So on the CheatEngine forums I hooked up with a small group of reverse engineers who had managed to decrypt and decompress the game's PAK files, which contained most of the game's assets, including its Lua scripts. And together we worked on modifying those in order to release a community patch + trainer that fixed a lot of the game's issues, and even added in a bunch more game functionality (and cheats). I personally worked on a lot of the visual elements, like adding the ability to adjust or even totally disable the game's fog, bokeh, bloom, motion blur, etc. which were originally overbearing, and not adjustable via the in-game settings or CFG files.

        Thankfully we didn't have to do anything serious to force the game to load the altered assets though, since by simply putting them back in the game directory using the same file structure as was seen in the PAK files, the game prioritized loading those instead of the ones still in the PAK files.

        p.s. You may have even seen the "Fist Of The Dead Star" video, which was made using our patch+trainer... and which even got so popular that the game devs clearly saw it, since they ended up adding an official game mode in the Definitive Edition which replicates elements of it. :P

        Cool stuff!

        3 votes
        1. cfabbro
          (edited )
          Link Parent
          Not really. E.g. See: TASbot plays a mystery game and TASbot plays Pokemon Red. But not having access to the source code does tend to make things orders of magnitude more difficult and time consuming.

          Are there still things off-limits though, like compared to say, what you could achieve if the same games were open source?

          Not really. E.g. See: TASbot plays a mystery game and TASbot plays Pokemon Red. But not having access to the source code does tend to make things orders of magnitude more difficult and time consuming.

          3 votes
      2. [2]
        balooga
        Link Parent
        As a dev who works with (essentially, though not technically anymore) interpreted languages like JS… decompiling closed-source binaries, reverse-engineering them, making alterations and rebuilding...

        As a dev who works with (essentially, though not technically anymore) interpreted languages like JS… decompiling closed-source binaries, reverse-engineering them, making alterations and rebuilding into new binaries — that function as you intended them to — is black magic wizardry stuff. I’m astounded that it’s even possible, let alone that you can become good enough at it to achieve targeted results like these. Whenever I think I’m pretty good with computers I read something like this and am humbled. Kudos!

        2 votes
        1. cfabbro
          (edited )
          Link Parent
          Thanks, but I definitely don't deserve any real kudos. I'm actually a pretty shitty, very amateur programmer, and so was basically just a hanger-on that contributed by brute-force tinkering with...

          Thanks, but I definitely don't deserve any real kudos. I'm actually a pretty shitty, very amateur programmer, and so was basically just a hanger-on that contributed by brute-force tinkering with various Lua files and memory address pointers/values until I managed to get the results I wanted. The rest of the CheatEngine forum crew did the bulk of the black magic wizardry stuff, like the initial decrypting/decompiling work, auto assembler scripting, and eventual repackaging of all the various modified assets used in the patch+trainer for public release... so they're the ones that should be praised and admired.

          2 votes