Obscuring the game code

Started by
14 comments, last by riuthamus 11 years, 8 months ago
When I first started writing applications that I considered more than trivial, I spent a fair amount of time worrying about people stealing my code as well. As many have stated here, it's impossible to completely secure code, and I've come to believe it's actually not worth spending much time trying either. To me, if someone is stealing my code, they probably didn't have the ability to develop it themselves, and will likely end up with an obviously inferior product as a result.
Advertisement
Minecraft was inspired by another project called Infiniminer which was abandoned by it's creator about a month after release due to losing control of his own source code.

Quoted from RockPaperShotgun:
“I stopped working on Infiniminer when the source code was leaked. It was totally my fault, as that’s what I get for releasing an un-obfuscated .NET assembly, but it nevertheless enabled hackers to create hacked clients and players upset with my balancing decisions to fork and write their own clients and servers.”

So it's worth doing some really basic obfuscation and making sure you don't release debug builds. Also, listening to your community and getting them involved will eliminate the need for them to build their own stuff based off your work.
[size="2"]Currently working on an open world survival RPG - For info check out my Development blog:[size="2"] ByteWrangler
Perhaps it is a paranoid fear, but for now.. i am going to just hold on to the source until we can get it to work.

We have used alot of the ones suggested and all of them break reflection. Anybody have any other suggestions?
We found out why it was not working, We had to comment out all of the XML parts. The only product that looks like it does anything worth a damn is:

http://www.red-gate.com/products/dotnet-development/smartassembly/pricing

Although, that is a bit pricy... just to release a demo. Anybody have any suggestions for a very good obfuscation program that is relatively cheap? The one i linked about is really overboard for what we need but when we used reflection on it almost all of it was really jacked and hard to decipher. So something that would do that is the key. Thanks for the suggestions and any help you guys can provide. I am happy to get this started so we can start giving out demos for people to test stuff with.
Don't listen to the people who say "somebody's going to reverse it anyway." While it is true that there are plenty of people that can successfully reverse-engineer your code regardless of what you do, there are many more people that can not if you use some type of obfuscation. Unless you release a really popular game, the chances are the people that can reverse-engineer obfuscated code are unlikely to bother with your game.

Legal protection only works if you have enough money to throw at a legal team and the hackers at hand happen to live in the US or other country with favorable IP laws, assuming you ever find out they stole your code.
Thanks for the kind words. I agree with the fact that you cant stop it from being hacked, that is not the goal. The goal is exactly what you and others have said, stop the small timers from easily getting it, specially during the development phase. We have done some amazing work with voxel based systems and really would hate to see that show up in other places before we actually went public with the full game. Anyway, thank you again.

This topic is closed to new replies.

Advertisement