Comment on Silent Hill decompilation just surpased 80%

<- View Parent
elvith@feddit.org ⁨3⁩ ⁨hours⁩ ago

I don’t know.

The gist is… When you write a program/game/… You write source code and then compile it - that means translating the source code into machine readable code. While certain things do usually get lost in this process (e.g. function names, variable names, etc.) you can see the resulting machine code and make a valid assumption about how the original code looked like. This is not a 1:1 reconstruction, but will yield code that should compile to the (basically) same result as the original game.

If you hit a Jackpot, you find a version of the program/game that was used for testing. Those often contain many pieces of information that would otherwise be stripped from the end result (e.g. aforementioned variable names, function names and so on). If not, it’s a puzzle solved with guess work and experience.

If you know some specifics about the game (which language was it written in, what compiler was used in which version,…) you can get some better results, as you can take patterns in the machine code and translate them back into what the original code was probably looking like based on the tools used.

In the end it’s sadly almost everytime still a manual process in which you look at the resulting source code, make some educated guesses based on patterns that are usually used when programming and specific functions that are probably contained in a game and then check those assumptions by changing the code and see if your changes affect the part of the program you thought you were dealing with.

Say you assume a specific variable/value is the maximum walking speed of the character. Then you change it and try to play the game and see if you can walk faster now. If so, label this value accordingly and go on to the next unknown piece of the puzzle.

source
Sort:hotnewtop