obfuscated C#

  • Thread starter Thread starter Paul E Collins
  • Start date Start date
What is an obfuscator?

"Miha Markic" <miha at rthand com> wrote in message
Who needs obfuscators any more ;-)
 
Good work. I've often thought that more people should start doing this with
C#. It should be more difficult than Obfuscated C because of the lack of
Macros, but it would be fun nonetheless.

What would also be fun though, would to be write well-formatted code that
was obfuscated. For example, incorrectly use things like operator
overloading, improperly-behaved Equals and GetHashCode overrides, etc. Some
guidelines could be set up--like you're only allowed to define one class.
And since the code is well-formatted (let VS.NET autoformat for you), the
code itself should be easy to read. The meaning of the code, however, would
be obscure. And bonus points could go to anyone who does a cool design or
message in their Main method (wouldn't be too hard with [im]proper operator
overloads).

--Matthew W. Jackson
 
What is an obfuscator?


Obfuscation is the technology of shrouding the facts. It's not
encryption, but in the context of .NET (or java) code, it might be
better. Encryption for programs suffers from a classic flaw, it needs
to keep the decryption-key with the encrypted data. Therefore, an
automated utility could be created to decrypt the code and put it out
to disk. Once that happens the fully unencrypted, unobfuscated code is
in plain view.

Obfuscation is a technique that provides for seamless renaming of
symbols in assemblies as well as other tricks to foil decompilers.
Properly applied obfuscation can increase the protection against
decompilation by many orders of magnitude, while leaving the
application intact.

Without argument, obfuscation (or even encryption) is not 100 percent
protection. Even compiled C++ is disassembleable. If a hacker is
perseverant enough, they can find the meaning of your code. The goal
of obfuscation is to make the reverse engineering process extremely
time consuming and painful so that it not worth the effort. The goal
became to stop all casual hackers and as many serious hackers as
possible.

Also, since obfuscation indicates that the IP owner has taken measures
to secure the IP obfuscating your .NET Program may provide you with
more legal options in the event it is required.
 
Back
Top