#Having a better approach on making games harder to decompile

20 messages · Page 1 of 1 (latest)

modern kindle
#

Hello! I am Oolks, a 14 year old programmer from Pakistan! Recently I started researching on how Godot used to save its encrypted scripts and found that the key is also embedded in the .exe's binary but with a different offset and it can be automated with the use of dll. So, I wanted to ask you on the best ways to make your game harder to decompile and take serious time for decompiling as, it is impossible to achieve a game which cannot be decompiled. Thank you!

boreal jacinth
#

Obfuscation is pretty much the only reliable method. Ive seem people go to EXTREME lengths with it for multiplayer games by additionally ecrypting the games obfuscated code

#

Like you said though, given enough time, someone WILL get to the source with dedication. People have gone to lengths to actually get the assmebly instructions and reverse engineer games for hacks/exploits.

dreamy owl
#

only stream on cloud

#

like stadia or nvidia grid

modern kindle
modern kindle
sullen valve
#

The thing is, if people can get the file on their disk, they will be able to decompile / do whatever with it
No matter what you do
More than often it doesnt worth the effort

hearty socket
#

the difference is that dedicated communities of modders can reverse engineer popular games like mkw, doom 64 etc but it's less likely that kind of manpower will be devoted to a less well known indie game so obfuscation is still valuable
having a method of obfuscation that can't just be auto-bypassed by a non programmer should be baseline

modern kindle
boreal jacinth
# modern kindle could you suggest a obfuscator

There are hundreds for C#, and even have tools/packages for Visual Studio like ArmDot to do it for you. I've never bothered using them because its inevitable that someone with enough dedication would get to it anyway. If youre asking for GDScript, I dont know of any

split socket
# modern kindle Yup, asking for gdscript

Any kind of prevention is irrelevant, doesn't matter if you encrypt your gdcript or make it in C#, C++, Java, etc , if it is popular it will be reversed engineered and hacked in a few hours then cloned, just need to watch system memory and done. Best thing to do it license it legitimately and that doesn't mean putting a license file, you have to register it, you can start with a NDA and get beta testers; it still won't protect it from piracy but you have a legal leg to stand on when it come to stores and telling them it is your game and show them proof and they will remove it.

split socket
#

Are you making a multiplayer game by chance?

#

Because if you are it's better to invest time & resources into making sure your server is an authoritative server, meaning it doesn't trust the client. You're gonna have to assume that people can reverse engineer your code and send wrong/faulty data to the server, and you're gonna have to verify that data.

#

If you are making a multiplayer game and need help with that kind of stuff feel free to DM me

modern kindle