Practical Obfuscation Experience

Obfuscation of custom assemblies doesn't get discussed much on the forums. We're nearing a release and so I was wondering if anyone had any useful experience obfuscating the assemblies they distribute with Unity?

Any obfuscation tools that have worked well like Dotfuscator or one mentioned on the forums - Unity 3D Obfuscator?

We can obviously follow the status quo path and just obfuscate and forget it, but I was hoping the social brain could spread some wealth on lessons learned.

I haven't done anything with obfuscation in terms of Unity, but I have been working with .NET applications for the last 9 years (mostly outside the gaming industry), and we did a fair bit with it further back. Here's the thing: if someone wants to steal your code, I have yet to find a way that can really prevent that. Worse, in this case, if you're hoping to prevent piracy, all the obfuscation in the world won't help.

I'm not saying it's useless -- some manner of obfuscation is probably worthwhile, although I don't bother with my games. But, I'm saying that I wouldn't personally spend a lot of time on that, because you're likely going to be disappointed with the result once the game is in the wild.

I wish I had better news to share, more along the lines of what you were actually looking for, but that's my practical experience with obfuscation!

Hi all,

I used to reverse engineer games for a living and I wrote a post about this specific topic. It’s a bit too long to post in a reply, but I definitely recommend that you check it out if you are considering to obfuscate or not. TLDR: Just obfuscate.

Cheers :slight_smile:

Unity 3D Obfuscator is the only product providing professional means of protection against reengineering and unlicensed use of applications developed in the Unity 3D (2., 3. )environment.

Main features: -Protection against decompilation; -Obfuscating (renaming into a meaningless set of characters) object names (classes, functions, properties, etc.); -Control flow obfuscation; -Unpacking Unity3D projects; -Removing the metadata of events and properties.

http://en.unity3d.netobf.com/download

alt text