Code Obfuscator

A tool that mangles source code into a human-unreadable form without changing its function.

Possible applications:

Especially useful when the CodeObfuscator produces a key and is combined with a deobfuscation tool.


A major problem with obfuscation is that stack dumps generated when errors occur are meaningless. Some obfuscators provide (to the code author) a utility that allows the obfuscated names to be mapped back into the real names for this purpose.


The OpenSourceInitiative? definition of OpenSource specifically excludes any project whose source code has been obfuscated.


I once wrote a "variable substituter" that replaced meaningful variables and function names with hard-to-remember names.

Before:

  result = countMessages(criteriaArray)

After:

  ruwsgfk = kjwtpd(bjkjwwvc)

It had an optional "leave it alone" list for items that were not substituted, usually for external interface reasons.


Professional obfuscators for .NET and Java are available from http://www.preemptive.com . Semantic Designs provides an entire family of obfuscators for a wide variety of languages. See http://www.semanticdesigns.com/Products/Obfuscators


If you want to obfuscate your code, just use OOP :-) (CategoryJoke, really)


Open Source Obfuscators for Java: http://java-source.net/open-source/obfuscators


EditText of this page (last edited April 4, 2005) or FindPage with title or text search