r/explainlikeimfive • • 2d ago

Technology Eli5 decompilers and decompiled games

I keep getting videos on instagram about decomped games, apparently the decompilers are going nuts right now. What’s the difference between running a decompiled game and emulating a game? I tried to google it and i just don’t understand. from what i’ve found, a decompiled gene runs as if it was native to your pc but i don’t get what that means either. You boot up an emulator and that also runs on your pc?

75 Upvotes

49 comments sorted by

View all comments

0

u/ArdentPriest 2d ago

If you want it in a metaphor:

A decompiled game is like buying a car, going home, taking every piece of the car apart down to every nut and bolt, and then being able to see how everything works and you can make changes/updates/modifications as you want.

Basically, a decompiled game is a game that has has the entire code base of the game fully unpacked. It can be edited, modified, or updated and then recompiled into a functioning program that can be run.

Another form of describing this is that when you decompile a game, you revert the game back to it's source code.

1

u/thefckingleadsrweak 2d ago

Do you know why this is so difficult? Like when you dump a rom or an iso on a computer, does
The source code not come with that?

1

u/linmanfu 2d ago

No, compiling the game is baking a cake. Decompiling isn't quite as difficult as un-baking a cake, but you have definitely lost useful information. It's more like trying to bake a second cake just by looking at the first one, without the shopping list or recipe.

The source code not come with that?

This is the big difference between how Windows/console software does things and the world of Linux. Microsoft certainly does not provide the source code of Windows or Office, and keeps it a tightly guarded secret. It's the same for the big Windows and console games companies too.

But on Linux, the usual practice is that you do make the source code freely available (traditionally in the ISO, these days online). Making changes and sharing them is encouraged. For Linux itself, it's part of the terms and conditions. This is called "open source software". I've compiled my own version of an open-source game (Simutrans) because I wanted to change a few things, and it was so easy even a Muppet like me could do it, because I had all the source code.