Leve Microsoft! Ze hebben nu een obfuscator uitgebracht voor MSIL:

Dotfuscator uses a patented Overload Induction renaming system (available in the Professional edition), which renames as many methods as possible to the same name. While your programming logic is not destroyed by this process, it is rendered incomprehensible.

For example, take the following sample code:

private void CalcPayroll(SpecialList employeeGroup)
{
while(employeeGroup.HasMore())
{
employee = employeeGroup.GetNext(true);
employee.UpdateSalary();
DistributeCheck(employee);
}
}

After applying Overload Induction obfuscation, the reverse-engineered code looks like the following:

private void a(a b) {
while(b.a()) {
a = b.a(true);
a.a();
a(a);
}
}