RSS Feed for This PostCurrent Article

Free .NET Obfuscation Tools

There are a lot of commercial .NET obfuscation tools, but I only found 3 free tools.

DotObfuscator Community Edition

If you are using Visual Studio.NET, then it comes with a community version of DotObfuscator that you can use.

Aspose.Obfuscator

Aspose.Obfuscator is an absolutely free .Net software obfuscator, which obfuscates .Net software. With it, you can:

  1. Obfuscate .Net Exe files while reserve all necessary names by itself
  2. Obfuscate .Net Dll Files while reserve all necessary names by itself
  3. Obufcate Asp.Net applications while reserve all necessary names by itself
  4. Obfuscate applications whose type information is decided at runtime while reserve all necessary names by yourself

Skater .NET Obfuscator Freeware Light Edition

The Light Edition is the Free version of Skater .NET Obfuscator. You may use Skater .NET Obfuscator Light Edition, free of charge, to protect your .NET applications for both personal and commercial purposes. Skater .NET Obfuscator implements all known software protection techniques and obfuscation algorithms.

  1. Prohibits reverse engineering
  2. Obfuscated application usually is not recompilable
  3. Processes any .NET application, executable or assembly
  4. Encrypts string constants
  5. Compatible with any .NET framework (1.0, 1.1, and 2.0)
  6. Control flow obfuscation stops decompilers and deobfuscators
  7. Scrambles class names, method names, field names etc.
  8. Implements assemblies linkage; linker unites .NET assemblies into a single dll or exe

Eazfuscator.NET Obfuscator

As pointed out by one of the commentator. Have not really test it out yet.


Trackback URL


RSS Feed for This Post20 Comment(s)

  1. Oleksiy Gapotchenko | Feb 6, 2008 | Reply

    I just have released one more free obfuscator for .NET platform. Look for more at http://www.foss.kharkov.ua/g1/projects/eazfuscator/dotnet/

  2. aFriendFromItaly | Mar 20, 2008 | Reply

    Hi Oleksiy, well done, very good job. Only one thing. I used your software verson 1.5. It function perfectly except when there is a method with optional paramenter (in visual basic).
    In c# there aren’t optional (default parameters) so il work perfectly. Best regards

  3. Oleksiy Gapotchenko | Mar 27, 2008 | Reply

    Hi friend from Italy. Thanks for the feedback. I will look into this issue. I think it will be fixed in version 1.7. Regards

  4. Pete | Apr 12, 2008 | Reply

    Hi Oleksiy, is your site down? Eeverytime I try to navigate to it, nothing happens.

    So, where can I download your obfuscator from?

    Thanks in advance for your reply.

  5. Pete | Apr 12, 2008 | Reply

    Sorry, I forgot to check the “follow up” box.

  6. Oleksiy Gapotchenko | Apr 14, 2008 | Reply

    Hi Pete,

    We have planned server power offs during April weekends because of electric network reconstruction performed by electrical company.

    Regards

  7. Jeff Williams | Apr 21, 2008 | Reply

    Hi Oleksiy

    Does your obfuscator work with SharpDevelop or will you have a version planned to support this environment?

  8. Oleksiy | Apr 30, 2008 | Reply

    Hi Jeff

    I have no plans to support SharpDevelop yet. But if it’s easy to implement then it may appear in version 2.0 of Eazfuscator.NET.

    Regards

  9. Oleksiy | Apr 30, 2008 | Reply

    INFORMATION

    There is a google group dedicated to Eazfuscator.NET available. If have a suggestion or bug report then you can send and discuss it at http://groups.google.com/group/eazfuscator-net .

  10. decebal mihailescu | Aug 1, 2008 | Reply

    I’ve tried all these tools (only the free editions) and I was dissapointed with all but the Eazfuscator.NET Obfuscator.
    While the latter does not have flow control and other advanced( and sadly premium) features, it is by far the easiest to use with very good results for string encryption and member name hiding.
    As of August 2008, my vote goes to Eazfuscator.NET as the best free .net obfuscator.
    Let’s see if others make me change my mind in the next few months.

  11. yallie | Aug 13, 2008 | Reply

    Hi! Thanks a lot for having mentioned Eazfuscator. I would doubtedly find its homepage from a search engine, as the author doesn’t seem to promote it at all 😉

    I’ve been searching for a free .NET obfuscator for a while, and this tool seems to be the best choice currently available.

  12. Mitch H. | Feb 22, 2009 | Reply

    Oleksiy Gapotchenko!

    Thank you SO MUCH for creating Eazobfuscator! I LOVE YOU!

    You support just about EVERYTHING that even the most PROFESSIONAL, thousand-dollar obfuscators do!

    – String encryption!
    – Method signatures overload induction(THIS BLOWS MY MIND!!! the single BEST FEATURE of ANY obfuscator and you provide it for FREE!!!)
    – Assemblies merging!!
    – Supports .NET Compact Framework versions 2.0 and 3.5!!
    – Microsoft Visual Studio integration!!
    – Supports automatic builds!!

    YOU JUST KILLED >ALLexceptionsname< should not be obfuscated or changed.

    Other than that pet peeve (and it is quite a big feature so please see if you can do it), you’ve created a WINNER! I can HARDLY believe that you actually support METHOD OVERLOADING! The single, strongest protection that you can give a .NET assembly (for anyone reading who doesn’t know what that is, it means that it renames ALL/most methods to the same name, such as ‘A’. the runtime still knows what method to use based on the number/type of arguments, but a human can hardl yread it since it’s a bunch of A(…) calls on every line.)

    The closest to a good freeware obfuscator was Skater .NET, it supports loads of features except method overloading.

    So you just KILLED IT!

    Thanks again, you are awesome!

  13. Mitch H. | Feb 22, 2009 | Reply

    Umm the comment got messed up. The line that says:

    “YOU JUST KILLED ALLexceptionsname should not be obfuscated or changed.”

    should have been:

    “YOU JUST KILLED ALL OBFUSCATORS, EVEN THE EXPENSIVE ONES! I have just one request, pleeeease, if you can, implement a way to specify methods that SHOULDN’T be renamed at all. For instance, if you make a .dll for others to use, they must be able to call something like “SomeThing.DoSomething()”, and therefore there’s a need to be able to specify that “do not rename SomeThing.DoSomething()”. Other than that pet peeve (and it is quite a big feature so please see if you can do it), you’ve created a WINNER!”

  14. Mitch H. | Feb 22, 2009 | Reply

    I’m sorry. I just found this in the documentation:

    “So if you want to disable renaming of your class you may write something like an example below (C#):

    Example 4.1. Disabling class renaming

    [System.Reflection.ObfuscationAttribute(Feature = “renaming”, ApplyToMembers = false)]
    class MyOneThousandAndFirstClass
    {
    …
    }

    If you want to disable renaming of your class and all its members you may write:

    Example 4.2. Disabling class and its members renaming

    [System.Reflection.ObfuscationAttribute(Feature = “renaming”, ApplyToMembers = true)]
    class MyOneThousandAndSecondClass
    {
    …
    }

    If you want to disable renaming of the properties in your class you may write:

    Example 4.3. Disabling class properties renaming

    [System.Reflection.ObfuscationAttribute(Feature = “properties renaming”)]
    class MyOneThousandAndThirdClass
    {
    …
    }”

    Now I can only say: HOLY CRAP!

    It can compete with all the best obfuscators out there and it’s free. I L O V E Y O U!

  15. Paul | Apr 16, 2009 | Reply

    Just thought it’s worth mentioning an excellent free of charge .NET obfuscator called CliSecure. The tool offer .NET code protection and code obfuscation, it’s obfuscation feature is free of charge while the rest of the feature are charged by vendor.
    You may find it at http://www.secureteam.net

  16. Vinay | Jun 11, 2009 | Reply

    Like to know how use obfuscator for ASP.NET website projects

  17. lxx | Jul 21, 2009 | Reply

    +1 to Eazfuscator.NET

  18. Lex | Sep 5, 2009 | Reply

    Eazfuscator does support control flow obfuscation. It’s just not enabled by default.

  19. tiffany & co jewelry | Nov 26, 2009 | Reply

    Hi! Thanks a lot for having mentioned Eazfuscator. I would doubtedly find its homepage from a search engine, as the author doesn’t seem to promote it at all 😉

  20. Faisie | Mar 2, 2010 | Reply

    Hi!

    After obfuscating, when I decompile the dll’s from the reflector I can see all the method names of my abstract classes.Body of My method are also easily Understandable.
    All my classes names are also seen e.t.c
    Can By any technique I can make my class not understandable or these can’t be open in Reflector?

Sorry, comments for this entry are closed at this time.