I know , there is a software(Reflector) can be see the all C# dll if the code is no protect and not obfuscation.
But, there are some business APP(unity3d - ipad/iphone platform) that was protected. We can’t see their code. If you use the ‘Reflector’ you only can find class name and method name. The content of function you can’t see them. I will do the same as they do.
examlpe code (it’s in Reflector view or JustDecompile view) :
public Vector3 position;
public Transform target;
public float distance;
public EMType mo;
public EMType mType;
public bool isOK;
public bool how;
public GoToBase(AgentFactory.EType type)
{
}
public override void PutIt()
{
}
So, how do I protect my C# code about the above mentioned? I want my dll as them, can’t be read, only read class name and function name
I’ve tried:
I found the : Unity3d obfuscation
url:Unity 3D Obfuscator
This is a obfuscation tool. But it’s a base option. I need encrypt and obfuscation. Not only obfuscation.
You should not really care about obfuscation, if people are going to steal your code, they will regardless of how hard you try. But tbh, if you make a game that’s good enough for people to steal code then think about it at that point. But i personally don’t care if people see my code.
There are some tools can even let your dll body shadow hide, rather than obfuscate off.
Existing App-Store on the APP, the best of my knowledge, has been able to achieve shadow possession body APP.
I have tried to decompilation them. I can be successful decompilation.
But whether IL code or c # code,I can not see their body. other words: their body shadow possession, I’m exactly looking for this solution .
Encryption btw doesn’t encrypt your code, it’s used to encrypt strings in your code. One way obfuscation works, in addition to renaming your variables to shorter, nonsensical names, is that it replaces things like method names with Unicode characters that .NET can interpret during compilation but the decompilers cannot represent on screen (show everything shows up as funny squares basically) and it also causes many of them (including Reflector and dotPeek) to just crash.
There is also extra work you need to do to make them more successful, such as hiding your code in private methods. Your public methods are just shadows, or entry points which directly call the private methods and the obfuscators can do a better job, however this isn’t always practical when you’re developing applications such as games in Unity that require more emphasis to be placed on performance and racking up those extra method calls on the stack can make a difference.