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 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 Post33 Comment(s)

  1. Oleksiy Gapotchenko | Feb 6, 2008 | Reply

    I just have released one more free obfuscator for .NET platform. Look for more at

  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.


  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.


  9. Oleksiy | Apr 30, 2008 | Reply


    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 .

  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

  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


    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?

  21. Christian louboutin | May 19, 2010 | Reply

    I’ve tried all these tools (only the free editions) and I was dissapointed with all but the Eazfuscator.NET Obfuscator.

  22. jeans outlet | Jun 28, 2010 | Reply

    very good quality and great!

  23. Tiffany | Jul 5, 2010 | Reply

    I’ve tried all these tools (only the free editions) and I was dissapointed with all but the Eazfuscator.NET Obfuscator.

  24. Gucci | Oct 29, 2010 | Reply

    Though the Gucci Accessories Collection was well received, it proved to be the force that brought the Gucci dynasty crashing down. Within a few years, the Perfumes division began outselling the Accessories division. The newly-founded wholesaling business had brought the once-exclusive brand to over a thousand stores in the United States alone with the GAC line, deteriorating the brand’s standing with fashionable customers.

  25. ugg fashion | Nov 9, 2010 | Reply

    that is kind of you to do this for us and share the info here. my pleasure to introduce the ugg fashion boots,welcome to have a look on my web.

  26. Vitamins | Nov 21, 2010 | Reply

    Awesome writing. You have greatly expressed what you really want to say.

  27. moncler shop | Dec 10, 2010 | Reply

    You are great to do this for us, thank you very much, you can also have a look at the nice and warm moncler clothes.

  28. Mohamed | Mar 10, 2011 | Reply

    Hello Oleksiy, Why when i obfuscate a dll the pdp file disappeared that make the reuse impossible till i debug it and that replace the obfuscation , How Can solve this problem ???

  29. Oleksiy | Mar 12, 2011 | Reply

    Mohamed, I think you are talking about .pdb files. There are two solutions:

    1) Do not debug obfuscated assemblies at all, so that obfuscation takes place in Release configuration only. This is default and suggested way
    2) Enable debugging support in Eazfuscator

    If you want .pdb files to stay in sync with obfuscated assemblies you can enable debugging support by applying the following attribute at assembly level:

    using System;
    using System.Reflection;

    [assembly: Obfuscation(Feature = "debug", Exclude = false)]

    This topic is discussed in details in Eazfuscator documentation. Please take a look at Advanced Features -> Debugging chapter.

  30. Imran | Sep 15, 2011 | Reply

    Please tell me,how to check whether an assembly is obfuscated or not using

  31. ahmed | Feb 5, 2012 | Reply

    thannnnnks very much Oleksiy
    you just saved my very limited budget from a massacre. i am a .net developer with years of experience. but i am brand new to desktop applications. i am very close to launch my first desktop product and i studied a lot about obfuscators. your eazfuscator appears to be the best. but i found a forum talking about deobfuscating dll protected with your software and may be this well be useful to you(by the way they say that your protection is the hardest to break ).
    THIS is the tool they use :
    another part of the discussion:

  32. LogicNP | May 23, 2012 | Reply

    Not free, but quite cheap: Crypto Obfuscator

  33. cable modem wireless router | Jun 10, 2012 | Reply

    This is a really fantastic read for me, Must admit that you are one of the finest bloggers I ever saw.Cheers for posting this helpful post.

2 Trackback(s)

  1. From Securing Assembly | My Blog | Dec 30, 2010
  2. From Securing .Net Assembly or Products | My Blog | Dec 30, 2010

RSS Feed for This PostPost a Comment

Refresh Image