Entity Renaming:
Renaming scripts, classes, methods, fields into a set of meaningless or unreadable characters;
Supporting obfuscation control attributes (System.Reflection.ObfuscationAttribute)
Removing events and properties:
This method comes down to removing the metadata of events and properties from the assembly, which makes it impossible to recover or use these properties from high-level languages (C#, Boo, …).
Renaming methods, variables, etc. into a set of unreadable characters:
It comes down to replacing names with unreadable characters, for example, Japanese characters. Though .Net works with the UTF8 encoding, not all decompilers correctly process its characters. Some change names with such characters for more understandable, some replace unreadable characters with their codes, some just refuse to work with such characters.
Obfuscating the control flow graph:
Obfuscating conditional branches:
This method comes down to adding various false conditions to the algorithm body and scattering the checks of existing conditions, loops and unconditional branches over the function body.
Protection against decompilers:
Protection against decompilers considerably reduces the chances to recover the source code of an application in an assembly or high-level language (C#, VB, etc.).
i just tried this on a webplayer and it wrecked the game > the game does not work now
anyone know of an obfuscator that works ?
** edit *** i think i know why my game wont work now … to start with, the editor was complaining about my mouse look before i obfuscated the game… so it is my bad… this thing does work !!! i just forgot that my mouse look script was crapped …im gonna fix my mouse look on my game and then obfuscate it again and see if it works … the game was working with the mouse look editor error though before …but now that i obfuscated it, it got fixed and the result was no mouse look now …so back i go and fix my mouse look…
okay, i just fixed my game with a working mouse look and the game had no errors at all after and before building a webplayer… now after i built the webplayer and obfuscated it using this program that sells for $150 it does not work … my game does not work now and i think this program is a piece of sh******t and i have wasted a good 4 hours on this crap… i dont recommend using this program anyone
if you want to see the result of what it did to my game, just click on my site and try it out … its just that the game has no control now but i will fix it later but not with this piece of sh*******t program
edit*** i fixed my game and now it finally works… i dont recommend using this program anyone
Tried to purchase obfuscator from the asset store. Instead of downloading importing the obfuscator package, I was prompted to d/l the JS to C package instead. I would like to either request a refund or receive the obfuscator package.
thanks,
droderick: Thats not the obfuscator from this topic, but one I made based on obfuscar. I have been aware of that issue but the asset store team is so busy they still haven’t been able to fix it. I first contacted them about this weeks ago. I am unable to fix this myself, there are no tools to quickly update/remove a package or to see who and how often the package was bought.
Feel free to keep the JS to C package for free, I’m sure the asset store team fixes this soon enough now so that you’ll be able to receive the bought Obfuscator package. Plus I’ve send you a PM.
EDIT Problems resolved, please update the package :).
It’s not encouraging that nildar isn’t responding to Ullukai’s problems.
Also, the Unity 3d Obfuscator web site has no instructions. I downloaded the trial and can’t figure out how to use it. I made a build and opened it in the obfuscator which made a file called WebPlayer.inqprj that’s under 2k and I don’t know what to do with it.
Does anyone know how to use this program? Has anyone had good results with it?
Does anyone know other products that might work better?
(Leepo, I love your networking package, but your obfuscator in the asset store just doesn’t change enough. It doesn’t change function names, class names, or even all of the variable names and just doesn’t seem to do very much, sorry. An obfuscator should make the code harder to read.)
There are dozens of free obfuscators if you look about with google. The popular one seems to be eazfuscator.
However the more popular the package the greater the chance that someone has written a deobfuscator for it. Find one that’s relatively unknown, yet still works for your purposes.