Skip to content

Lists of .NET Obfuscators - comparative list of available products

Notifications You must be signed in to change notification settings

XenocodeRCE/.NET-Obfuscator

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 

Repository files navigation

.NET Obfuscator

Lists of .NET Obfuscator

Name/Website Free? Protect strings Protect code flow Protect calls Protect resources Protect names Anti tampering Anti debugger Virtualization protection Packer/Compressor
Agile.NET Premium ($795) Yes Yes Yes Yes Yes Yes Yes Yes No
Appfuscator Freemium ($18/day) Yes Yes Yes No Yes No No No No
ArmDOT Freemium ($299) Yes Yes No Yes Yes No No Yes No
AsStrongAsFuck Yes Yes Yes Yes No Yes No No No Yes
Babel Premium (245€) Yes Yes Yes No Yes No Yes Yes No
Beds Protector Yes Yes Yes Yes Yes Yes Yes Yes No Yes
BitHelmet Yes No Yes No No Yes No No No No
ConfuserEx Yes Yes Yes Yes Yes Yes Yes Yes Yes with KoiVM (free) Yes
Crypto Obfuscator Freemium ($299) Yes Yes Yes Yes Yes Yes Yes Yes Yes
Cyphor Premium ($499 for full) Yes Yes Yes No Yes No No Yes No
DarksProtector Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
DeepSea Yes Yes Yes No No Yes No No No No
Demeanor Premium ($800) Yes Yes No No No No Yes No No
Deploylx Premium ($299) Yes Yes Yes Yes Yes Yes Yes No No
DNG HVM Premium ($1299) Yes No No Yes Yes Yes Yes Yes No
DotNetGuard Yes Yes Yes No No Yes No Yes Yes No
DotNetPatcher Yes Yes Yes Yes No Yes Yes Yes No No
Dotfuscator Premium ($1495) Yes Yes No No Yes Yes Yes No No
Enigmaprotector Premium ($199) No No No No No No Yes No Yes
Eazfuscator Freemium ($399) Yes Yes No Yes Yes No Yes Yes Yes
Guardship Freemium ($199) No No No No No No Yes Yes No
HabibProtector mremiuù ($299) Yes Yes Yes No Yes Yes Yes Yes No
ILProtector Freemium ($149) Yes No No No No Yes Yes No Yes
Isolated Yes Yes Yes Yes No Yes Yes Yes No No
KrawkProtector Yes Yes Yes Yes No Yes Yes Yes No No
Logic.NET Yes Yes No Yes No Yes Yes No No No
MemeVM Yes No No No No No No No Yes No
ModPhuserEx Yes Yes Yes Yes Yes Yes Yes Yes No No
NETReactor Premium ($179) Yes Yes Yes Yes Yes Yes Yes Yes No
NeoConfuserEx Yes Yes Yes Yes Yes Yes Yes Yes Yes with KoiVM (free) Yes
NETGuard Freemium ($5 for 2 obfuscations) Yes Yes Yes No Yes Yes Yes Yes No
NetShieldObfuscator Premium (10€ for 4 obfuscations) Yes Yes Yes No Yes Yes Yes Yes No
Noisette Yes Yes Yes Yes No Yes No No No No
Obfuscar Yes Yes No No No Yes No No No No
PhoenixProtector Yes Yes Yes No No Yes No No No No
PandaObfuscator Yes Yes Yes Yes No No No No No No
RzyProtector Yes Yes Yes Yes Yes Yes Yes Yes No No
SkiDzEx Yes Yes Yes Yes Yes Yes Yes Yes No No
SmartAssembly No Freemium (945€) Yes Yes Yes Yes Yes Yes Yes No No
StrongVM Freemium ($99) Yes No No Yes No Yes Yes Yes No
Skater Obfuscator Premium ($79) Yes Yes No No Yes Yes Yes No No
Spices Premium ($340) Yes Yes Yes Yes Yes Yes Yes No No
Themida PRemium ($199) No No No Yes No Yes Yes No Yes
Trinity Obfuscator Yes Yes Yes Yes No Yes Yes Yes No No
VMProtect PRemium ($149) No Yes Yes No No Yes Yes Yes No
Vot4CS Yes No No No No No No No Yes No
YanoObfuscator Yes Yes No No No Yes No No No No
Z00bfuscator Yes No No No No Yes No No No No

Protect string

In a managed assembly all strings are clearly identifiable and readable. Even when methods are renamed, strings used in a method may give clues about the purpose of the method. This includes messages (especially error messages) that are displayed to the user. Those strings can be tracked down to the code that uses them. String encryption works by modifying all strings in the assembly and restore their original value at runtime. Since the string data must be restored automatically at runtime, usually without the user providing a decryption key, the data cannot actually be encrypted but only encoded. The algorithm that decodes the data is always included in the obfuscated assembly. This process may affect the runtime performance of the program, either once at startup or for every string usage.

Protect Code Flow

Control flow obfuscation is about modifying the program so that it yields the same result when run, but is impossible to decompile into a well-structured source code and is more difficult to understand. Most code obfuscators would replace CIL instructions produced by a.NET compiler with goto s and other instructions that may not be decompiled into a valid source code. This process may affect the runtime performance of a method.

ProtectCalls

The way CIL instructions work references to external types and methods are clearly visible and will be unaffected by name obfuscation and control flow obfuscation. Even without reasonable names, the fact that a method makes use of certain framework classes like I/O, networking or cryptography can draw attention to it. Calls to suspicious methods can be redirected through a generated method that only wraps the original call. This wrapper method can be renamed and the called method's name will no longer appear in the obfuscated method body. The Just-In-Time compiler (JIT) will normally inline such short wrapper methods so that it does not affect runtime performance.

Protect Resources

Sometimes resources contains sensitive informations, such as credentials or local databases. This protection plays with how resources are handled at runtime within your application. The resources byte[] will be encoded, and then at runtime it will be decoded.

Name Obfuscation

Name obfuscation changes the name of types and members. Name obfuscation makes the decompiled source harder to understand but the overall flow of the code is not obscured. The new names can follow different schemes like "a", "b", "c", or numbers, characters from Non-Latin scripts, unprintable characters or invisible characters. Names may be used multiple times in a scope by using overloading. While proper names are technically Not required to execute the assembly, the resulting assembly would be unverifiable. Name obfuscation is the most basic technique that is used by every.NET obfuscator solution.

Anti tampering

Anti tampering protection protects the CIL instructions by encrypting them and stripping the original instructions from the assembly. The encrypted instructions are kept in a separate storage. When the assembly is loaded a native runtime executive assumes control of portions of the.NET runtime and manages decrypting the CIL as needed. If the native code is involved, the application may Not run on different platforms anymore.

Anti debugger

Anti debugger protection prevents the use of debugging tools to step-by-step debug the protected file. It can detect memory-based patern and also check for the disk content for blacklisted entities.

Virtualization protection

Code virtualization converts the CIL code into virtual opcodes that will only be understood by a secure virtual machine. As opposed to protecting CIL code through encryption where the encrypted code must be decrypted back into CIL before it can be executed by the CLR, code virtualization uses a virtual machine which directly processes the protected code in the form of a virtual machine language. Code virtualization feature is by far the strongest protection method available in code protection arena today as it implements a one-way code transformation. The code is never translated back to its original form, instead, the virtual machine emulates the original code behavior. Code virtualization can significantly degrade performance and make debugging very difficult.

Packer / Compressor

This feature allow you to merge all dependencies of your file into a one-file only stub. Usually it can be managed, but there exists solutions to inject your managed files and dependencies into a native stub too.

Releases

No releases published

Packages

No packages published