Alex Glass said:
I'm concerned a commercial application I've completed could be stolen by
deobsfuscation. However it's not clear to me what information is gained
when my .net executable is deobsfuscated (decompiled?). Any insight on
the subject would be greatly appreciated.
-Alex
A basic obfuscator re-names your public classes and variables to make the
logic of the IL code harder to understand if it is de-compiled. More
advanced obfuscators can can modify your code slightly to make the logic
even harder to follow. There are even some that can encrypt strings and
other values in your code to make it much harder to understand when
de-compiled.
Bottom line is that anyone who wants to de-compile your code can do so. All
you can do is make it as hard as possible for them to understand your code,
follow the logic within your code, and view the string and other values in
your code. For serious obfuscation, I would look for an obfuscator that
obfuscates, encrypts and possibly can modify the code to hide the logic even
more. If you're not familiar with IL, you might want to read up on it, then
compare some of your un-obfuscated IL with your obfuscated IL to get a
better understanding of how obfuscation works.