Brandon: Obfuscation
I hate obfusaction.

What I am speaking of, of course, is having to obfuscate compiled .NET code so that someone cannot simply reverse engineer it using reflection or some such nonsense.

At work we use a package called Xenocode Postbuild 2007. It is quite improved from the 2006 version, but it still has some annoying issues.

For example:
.NET 2.0 has a XMLSerializer class built in. What this does is take data out of an object and represents it as XML. It makes saving the contents and state of an object quite easy. However, to do this, it (the .NET runtime) creates a new assembly (basically a .NET dll) on the fly. Now, when you obfuscate a program, it takes the variable names and makes them full of random characters, so something like "Name" would end up being "x9038242ndo3412f". Thats all fine and good, but it ends up confusing the generated XMLSerializer assembly sometimes.

And don't get me started on the mess it makes of trying to use reflection. You might as well not even try to protect your code if you are going to use reflection on it.
(Reflection is a way of dynamically loading .NET assemblies at runtime. Think of plugins, thats sort of the idea, but its much more complex than that).

Anyway, code that works fine in a development environment may not work at all if it is obfuscated.

But, how else can you protect your code.



Code: monkey need caffene
Post: is far too nerdy for most.


Tags (beta): code, .net, obfuscation, rant, xml

Comments (1)