News

  • Home > News

        Obfuscatator protects, compresses .NET code

        Doug | Date: Nov 19, 2004 | Comments: 1



        When it comes to protecting .NET Framework applications from reverse engineering, obfuscation is a powerful tool. Preemptive Solutions offers a product called the "Dotfuscator," whose purpose is to make .NET Framework code difficult to decompile. The company has announced that a "lite" version of Dotfuscator will ship with Visual Studio 2005, and is already available as part of the VS 2005 beta.




        .NET Framework (and Compact Framework) executables are expressed in MSIL (Microsoft Intermediate Language), which is at a much higher level than binary code and is thus easier to decompile. Additionally, the intermediate files contain plain text identifiers that provide useful clues about a program's functionality. Organizations concerned about protecting their intellectual property (IP) therefore need to address this problem before migrating to .NET.



        According to Preemtive, Dotfuscator translates the meaningful identifiers into, in most cases, single character identifiers thereby obscuring their meaning. A side benefit of this process is reduced application size. A single character identifier requires less memory than a 20 character identifier. To make the code even more obscure, a patented technique called Overload Induction uses extensive scope analysis to rename as many method identifiers as possible to the same name.

        Preemptive Solutions offers three versions of Dotfuscator:
        • Community Edition -- This is the lite version that ships with Visual Studio 2005. It supports the basic renaming functionality.

        • Standard Edition -- Adds support for generating debug symbol files for obfuscated assemblies, the ability to decode obfuscated stack traces, and better reporting.

        • Professional Edition -- A more powerful obfuscator that also further reduces image size by removing unused code. Additional obfuscation features include string encryption, control flow obfuscation, and enhanced overload induction.
        Professional Edition also works with the .NET Compact Framework, to bring the benefits of obfuscation to embedded developers. With size being a critical issue in many embedded targets, the ability to remove unused code is a key feature.

        The company has published a PDF whitepaper describing Dotfuscator and the process of obfuscation, which is available here (PDF file).



        Related stories: