💻 🎉 Awesome lists about all kinds of interesting .NET Obfuscator.
Discussions
·
Report Bug
·
Request Feature
There are many great .NET obfuscators available on internet, however, I didn't find one that really suit my needs so I create this list. I want to gather all over .NET Obfuscator so that it'll be the last one you ever need.
Certain languages like Java and .NET can be easily decompiled into readable source code. Code obfuscation is a process that makes your application binaries harder to read with a decompiler. It’s an important tool for protecting your business’s intellectual property.
Compiled languages like C++ get converted directly to bytecode. The only way to reverse engineer how they work is with a disassembler, which is an arduous and complicated process. It’s not impossible, but trying to infer high level application logic from a stream of assembly language is hard.
On the other hand, languages like C# and Java aren’t compiled for any particular operating system. Rather, they’re compiled to an intermediary language, like .NET’s MSIL. The intermediary language is similar to assembly, but it can be easily converted back into the source code. This means that if you have a public DLL or executable that your business is distributing, anyone with a copy of your executable can open it up in a .NET decompiler like dotPeek, and directly read (and copy) your source code.
Code obfuscation can’t prevent this process—any .NET DLL can be plugged into a decompiler. What obfuscation does do is use a number of tricks to make the source code annoying as hell to read and debug.
The simplest form of this is entity renaming. It’s common practice to properly name variables, methods, classes, and parameters according to what they do. But you don’t have to, and technically there’s nothing stopping you from naming them with a series of lowercase L’s and I’s, or random combinations of Chinese unicode characters. To the computer, there’s no issue, but it’s completely illegible to a human:
IlIIIIlIIIllIIIllIIll
lIIIllIIllIlIIIIlIIIl
An basic obfuscator will handle this process automatically, taking the output from the build, and converting it to something that’s a lot harder to read. There’s no performance hit compared to non-obfuscated code
More advanced obfuscators can go further, and actually change the structure of your source code. This includes replacing control structures with more complicated but semantically identical syntax. They can also insert dummy code that doesn’t do anything except confuse the decompiler. The effect of this is that it makes your source look like spaghetti code, making it more annoying to read.
Another common focus is hiding strings from decompilers. In managed executables, you can search for strings like error messages to locate sections of code. String obfuscation replaces strings with encoded messages, which are decrypted at runtime, making it impossible to search for them from a decompiler. This usually comes with a performance penalty.
Converting one programming language to another isn’t an entirely crazy idea—Unity uses IL2CPP, a converter that transforms .NET code into compiled C++ bytecode. It’s a lot more performant, but it also helps secure games against easy cracking, which is crucial for an environment plagued by piracy and cheaters.
Microsoft has CoreRT, an experimental .NET Core runtime using Ahead-Of-Time compilation, though it isn’t ready for production use.
If you’re deploying code in untrusted environments where you want to protect your source code, you should almost always use at least a basic obfuscator to rename functions, methods, and properties to make decompiling take a bit more effort.
If you really need nobody to be able to decompile your app, you can use a more intrusive obfuscator, but really you should consider if the problem would be better solved by switching to a language that doesn’t have this issue, such as C++ or Rust.
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
What is Code Obfuscation, and Should you use it? by Anthony Heddings
- Agile- Agile.NET, Powerful Code Protection, Obfuscation, and Licensing Solution for your .NET Apps
- Aldaray Rummage Obfuscator - Tie your code into knots and make the hackers cry
- AppFuscator - Inteligence algorithm provide your application powerful protection!
- ArmDot - Protection, software licensing tool, and obfuscator for C# and .Net with support of serial keys and files embedding
- Arya - Arya is a simple obfuscator for .NET binaries.
- AsStrongAsFuck - A console obfuscator for .NET assemblies.
- Babel - Protect your software against reverse engineering to safeguard the intellectual property of your code
- Beds Protector - Beds Protector | Best free obfuscation out right now ( ConfuserEx Mod )
- BitHelmet - BitHelmet obfuscator protects your .NET Portable Executables
- BoxedApp - Import and virtualize ActiveX, Flash and .Net runtime • Rich SDK for developers • Create custom packers • Supports both 32-bit and 64-bit applications • Virtual file system and registry
- ConfuserEx - An open-source, free protector for .NET applications.
- ConfuserEx 2 - Updated ConfuserEx (by mkaring), an open-source, free obfuscator for .NET applications.
- Crypto - Powerful Obfuscation & Code Protection For .Net That Actually Works!
- Cyphor - Cyphor is more than just an obfuscator. Cyphor is the best, fastest, and most reliable obfuscation protection tool to work with.
- cil-examining - A .NET Framework (.NET Core in the future) obfuscator. Owner is currently out sick thus working on project is stopped.
- Cheap Obfuscator - a pretty bad obfuscator made to learn
- Confuser1337 - bad 2016 code, i dont recommend anyone uses it
- dotNetObfuscator - Обфускатор строки для C#
- DarkFuscator - Code obfuscator for .NET framework programs. Outdated in 2016, but was very functional in 2010/2011.Uses the Mono.Cecil library for interacting with .NET assemblies.
- DarksProtector - DarksProtector 2.0 | ConfuserEx Modded
- DeepSea - DeepSea Obfuscator makes obfuscation of your .NET assemblies an intuitive and integrated part of your product development.
- Demeanor - Demeanor for.NET protects your intellectual property by making it extremely difficult to reverse engineer your .NET applications.
- Denvelope - NET Obfuscator
- DNGuard HVM - Advanced .NET Code Protection and Obfuscation Technology
- Dotfuscator - Dotfucator's .NET obfuscation and runtime checks have protected thousands of apps for over a decade.
- DotNetGuard - .Net Protector ( ConfuserEx Mod )
- DotNetPatcher - DotNetObfuscator
- DotNetSafer - Increase the security of your software, reduce costs and save time with the tools that dotnetsafer offers you to protect your intellectual property and guarantee the integrity of your .NET and .NET Core applications.
- Dotpack - Extreme (TM) binary packer for .NET
- DCNETProtector - An open source tool to encrypt .NET assembly file, help people protect theirs copyright. It has a command line interface and some specific features. It claims to have only 6000 lines of code.
- Eazfuscator - Eazfuscator.NET is the obfuscator for .NET platform.
- Enigma Protector - A professional system for licensing and protecting executable files for Windows.
- ElecKey - ElecKey is a suite of software and tools that provide a complete solution for software security, copy protection, and license management. It allows you to protect your software against piracy, tampering, and reverse-engineering, as well as gain full control over secure software distribution and licenses.
- Guardship-.NET-Protector - Guardship .NET Protector is a development software that helps to protect the executable file of .NET application by making its code unreadable for MSIL disassemblers.
- Goldfuscator - A fork of the original SimpleObfuscator project, made for training.
- Habib Extreme Protector - A Strong .NET Obfuscator & Protector
- ILProtector - ILProtector is a protector for .NET applications. ILProtector is designed to protect intellectual property of the software.
- IntelliLock - IntelliLock is an advanced 100% managed solution for licensing controls and applications. While .NET Reactor offers a licensing system based on native code protection, IntelliLock opts a 100% managed way to apply licensing and protection features. This way single files can be produced without the need of additional files.
- IntelliProtector - IntelliProtector .Net Obfuscator is excellent Free tool for your IntelliProtector .Net projects.
- Krawk Protector - .NET Obfuscator and Protector
- KoiVM - Virtualization made for .NET using ConfuserEX
- lookatme - NET Obfuscator for Studying purpose.
- Lime-Crypter - An obfuscation tool for .Net + Native files.
- LoGic.NET - A more advanced free and open .NET obfuscator using dnlib.
- MancoSoftware - Manco .NET Licensing System is the powerful licensing and copy protection software for .NET Windows Forms, WPF, WCF, WWF and ASP.NET applications, controls and components.
- MdCrypt - [WIP] A next-generation protector for .NET applications (.NET Framework, .NET Core, and more)
- MemeVM - A small virtualizer for .NET which works together with ConfuserEx
- MindLated - .net obfuscator using dnlib
- ModPhuserEx - A .NET protector supporting .NET Core forked from the discontinued ConfuserEx
- MPRESS - Free high-performance executable packer for PE32/PE32+/.NET executable formats!
- netshrink - netshrink is an exe packer aka executable compressor, application password protector and virtual DLL binder for Windows & Linux .NET applications.
- Neo ConfuserEx - Updated ConfuserEX, an open-source, free obfuscator for .NET applications
- NetFuscate - NETFuscate is a .NET obfuscator and a .NET code protection tool that offers protection against reverse engineering of your code.
- NetShields - A really strong & recommended for .NET Obfuscator
- NETGuard - NETGuard.IO will decompose your file, encrypt your strings, data, resources, methods, will perform numerous runtime-based verifications to ensure a fully-shielded security for your file. The list of feature can be founded on our official documentation page.
- NET Reactor - NET Reactor is a powerful .NET code protection and software licensing system which completely stops any decompiling.
- NETZ Compressor - 2004 .NETZ compresses Microsoft .NET executables
- NET-Obfuscator - Simple .net obfuscator using Mono Cecil
- Noisette - An Obfuscator for .NET assembly
- obfuscatus - a .NET obfuscator based on mono cecil
- ObfuscationAttributes - Add watermarks of obfuscators, makes de4dot think your file is obfuscated. bad 2016 code, i dont recommend anyone uses it
- Obfuscord - Obfuscates A file Through Discord as a Bot using Discord.Net Api
- Obfuscar - Open source obfuscation tool for .NET assemblies
- Obfuscator.NET 2009 - Protect your .NET assembly
- OctopusObfuscator - Basic obfuscator for .NET
- Orange Heap obfuscator - free and efficient way to protect your .NET software
- pshield - Plugin-based obfuscator
- Panda-Obfuscator - PandaObfuscator an simple Obfuscator, free, OpenSource for .Net Applications
- PAOfuscator - Obfuscator für Paradise.de
- PC Guard - Professional software protection and licensing system for .NET framework (x86, AnyCpu, x64) and Windows 32bit and 64 bit applications.
- PEunion - PEunion (Binder, Crypter & Downloader)
- Phoenix Protector - .NET Obfuscator & Protector
- PV Logiciels dotNet Protector - PV Logiciels dotNet Protector is a powerful .NET code protection system that prevents your assemblies from being decompiled.
- Rzy Protector - Rzy Protector | A public confuserex modded
- Semantic Designs - The C# Obfuscator tool scrambles C# source code to make it very difficult to understand or reverse-engineer
- Self-Morphing C# Binary - C# binary that mutates its own code, encrypts and obfuscates itself on runtime
- SharpObfuscator - It is a Software Protection tool, designed to help .NET developers efficiently protect their software. It will obfuscate and protect your .NET code, optimize your .NET assembly for better deployment, minimize distribution size, increase performance & add powerful post-deployment debugging capabilities.
- Skater .NET Obfuscator - Rustemsoft proposes Skater .NET Obfuscator, an obfuscation tool for .NET code protection. It implements all known software protection techniques and obfuscation algorithms.
- SkiDzEX - A modded version of ConfuserEx | SkiDzEx
- SmartAssembly - Protect your .NET code and IP with SmartAssembly
- String Encrypt - Encrypt strings in source code & files using randomly generated algorithms, and generate the corresponding unique decryption code for any supported programming language.
- StrongVM - StrongVM is a virtualizing protector for .NET applications.
- SourceCodeObfuscator - C# source code obfuscator
- SpecterObfuscator - This Application will obfuscate your .NET Assembly
- Spices - Spices.Net Obfuscator is a .Net code obfuscation, protection and optimization tool that offers the wide range of technologies to completely protect your .Net code and secure your data.
- Themida - Advanced Windows software protection system
- Trinity-ConfuserEx-Mod - A modded ConfuserEx created by Mighty, Bed and Centos.
- Unikod - Text styling & obfuscation library for C#
- vot4cs - A Virtualization Obfuscation Tool for C# program
- VaporObfusactor - VaporObfuscator is an obfuscator for .net made with dnlib
- VMProtect 3.4 - VMProtect protects code by executing it on a virtual machine with non-standard architecture that makes it extremely difficult to analyze and crack the software. Besides that, VMProtect generates and verifies serial numbers, limits free upgrades and much more.
- Yano - Yano is an advanced obfuscator for Microsoft .NET applications
- Z00bfuscator - Z00bfuscator is the simple, open-source, cross-platform obfuscator for .NET Assemblies built on .NET Core