.NET-Obfuscator

授权协议 MIT License
开发语言 C/C++
所属分类 开发工具、 代码混淆和加密
软件类型 开源软件
地区 不详
投 递 者 江佐
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

GitHub contributorsGitHub forksGitHub Repo starsGitHub issuesGitHub


Logo

.NET Obfuscator

�� �� Awesome lists about all kinds of interesting .NET Obfuscator.
Discussions · Report Bug · Request Feature

About The Project

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.

Utilization

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.

Why Obfuscate Code?

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.

Other Options: Convert to a Compiled Language

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.

Should You Obfuscate?

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.

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

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.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

References

What is Code Obfuscation, and Should you use it? by Anthony Heddings

Lists of .NET Obfuscator

A =>

Agile

  • Agile- Agile.NET, Powerful Code Protection, Obfuscation, and Licensing Solution for your .NET Apps

Aldaray Rummage Obfuscator

AppFuscator

  • AppFuscator - Inteligence algorithm provide your application powerful protection!

ArmDot

  • ArmDot - Protection, software licensing tool, and obfuscator for C# and .Net with support of serial keys and files embedding

Arya

  • Arya - Arya is a simple obfuscator for .NET binaries.

AsStrongAsFuck


B =>

Babel

  • Babel - Protect your software against reverse engineering to safeguard the intellectual property of your code

Beds Protector

  • Beds Protector - Beds Protector | Best free obfuscation out right now ( ConfuserEx Mod )

BitHelmet

  • BitHelmet - BitHelmet obfuscator protects your .NET Portable Executables

BoxedApp

  • 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

C =>

ConfuserEx

  • ConfuserEx - An open-source, free protector for .NET applications.

ConfuserEx 2

  • ConfuserEx 2 - Updated ConfuserEx (by mkaring), an open-source, free obfuscator for .NET applications.

Crypto

  • Crypto - Powerful Obfuscation & Code Protection For .Net That Actually Works!

Cyphor

  • Cyphor - Cyphor is more than just an obfuscator. Cyphor is the best, fastest, and most reliable obfuscation protection tool to work with.

cil-examining

  • cil-examining - A .NET Framework (.NET Core in the future) obfuscator. Owner is currently out sick thus working on project is stopped.

Cheap Obfuscator

Confuser1337

  • Confuser1337 - bad 2016 code, i dont recommend anyone uses it

D =>

dotNetObfuscator

DarkFuscator

  • 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

DeepSea

  • DeepSea - DeepSea Obfuscator makes obfuscation of your .NET assemblies an intuitive and integrated part of your product development.

Demeanor

  • Demeanor - Demeanor for.NET protects your intellectual property by making it extremely difficult to reverse engineer your .NET applications.

Denvelope

DNGuard HVM

  • DNGuard HVM - Advanced .NET Code Protection and Obfuscation Technology

Dotfuscator

  • Dotfuscator - Dotfucator's .NET obfuscation and runtime checks have protected thousands of apps for over a decade.

DotNetGuard

DotNetPatcher

DotNetSafer

  • 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

  • Dotpack - Extreme (TM) binary packer for .NET

DCNETProtector

  • 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.

E =>

Eazfuscator

  • Eazfuscator - Eazfuscator.NET is the obfuscator for .NET platform.

Enigma Protector

  • Enigma Protector - A professional system for licensing and protectingexecutable files for Windows.

ElecKey

  • 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.

G =>

Guardship-.NET-Protector

  • 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

  • Goldfuscator - A fork of the original SimpleObfuscator project, made for training.

H =>

Habib Extreme Protector


I =>

ILProtector

  • ILProtector - ILProtector is a protector for .NET applications. ILProtector is designed to protect intellectual property of the software.

IntelliLock

  • 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 - IntelliProtector .Net Obfuscator is excellent Free tool for your IntelliProtector .Net projects.

K =>

Krawk Protector

KoiVM

  • KoiVM - Virtualization made for .NET using ConfuserEX

L =>

lookatme

  • lookatme - NET Obfuscator for Studying purpose.

Lime-Crypter

  • Lime-Crypter - An obfuscation tool for .Net + Native files.

LoGic.NET

  • LoGic.NET - A more advanced free and open .NET obfuscator using dnlib.

M =>

MancoSoftware

  • 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

  • MdCrypt - [WIP] A next-generation protector for .NET applications (.NET Framework, .NET Core, and more)

MemeVM

  • MemeVM - A small virtualizer for .NET which works together with ConfuserEx

MindLated

ModPhuserEx

  • ModPhuserEx - A .NET protector supporting .NET Core forked from the discontinued ConfuserEx

MPRESS

  • MPRESS - Free high-performance executable packer for PE32/PE32+/.NET executable formats!

N =>

netshrink

  • netshrink - netshrink is an exe packer aka executable compressor, application password protector and virtual DLL binder for Windows & Linux .NET applications.

Neo ConfuserEx

  • Neo ConfuserEx - Updated ConfuserEX, an open-source, free obfuscator for .NET applications

NetFuscate

  • NetFuscate - NETFuscate is a .NET obfuscator and a .NET code protection tool that offers protection against reverse engineering of your code.

NetShields

  • NetShields - A really strong & recommended for .NET Obfuscator

NETGuard

  • 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 foryour file. The list of feature can be founded on our official documentation page.

NET Reactor

  • NET Reactor - NET Reactor is a powerful .NET code protection and software licensing system which completely stops any decompiling.

NETZ Compressor

NET-Obfuscator

Noisette

  • Noisette - An Obfuscator for .NET assembly

O =>

obfuscatus

  • obfuscatus - a .NET obfuscator based on mono cecil

ObfuscationAttributes

  • ObfuscationAttributes - Add watermarks of obfuscators, makes de4dot think your file is obfuscated. bad 2016 code, i dont recommend anyone uses it

Obfuscord

  • Obfuscord - Obfuscates A file Through Discord as a Bot using Discord.Net Api

Obfuscar

  • Obfuscar - Open source obfuscation tool for .NET assemblies

Obfuscator.NET 2009

OctopusObfuscator

Orange Heap obfuscator


P =>

pshield

  • pshield - Plugin-based obfuscator

Panda-Obfuscator

  • Panda-Obfuscator - PandaObfuscator an simple Obfuscator, free, OpenSource for .Net Applications

PAOfuscator

PC Guard

  • PC Guard - Professional software protection and licensing system for .NET framework (x86, AnyCpu, x64) and Windows 32bit and 64 bit applications.

PEunion

  • PEunion - PEunion (Binder, Crypter & Downloader)

Phoenix Protector

PV Logiciels dotNet Protector

  • PV Logiciels dotNet Protector - PV Logiciels dotNet Protector is a powerful .NET code protection system that prevents your assemblies from being decompiled.

R =>

Rzy Protector


S =>

Semantic Designs

  • Semantic Designs - The C# Obfuscator tool scrambles C# source code to make it very difficult to understand or reverse-engineer

Self-Morphing C# Binary

SharpObfuscator

  • 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

  • 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

  • SkiDzEX - A modded version of ConfuserEx | SkiDzEx

SmartAssembly

  • SmartAssembly - Protect your .NET code and IP with SmartAssembly

String Encrypt

  • 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 - StrongVM is a virtualizing protector for .NET applications.

SourceCodeObfuscator

SpecterObfuscator

Spices

  • 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.

T =>

Themida

  • Themida - Advanced Windows software protection system

Trinity-ConfuserEx-Mod


U =>

Unikod

  • Unikod - Text styling & obfuscation library for C#

V =>

vot4cs

  • vot4cs - A Virtualization Obfuscation Tool for C# program

VaporObfusactor

  • VaporObfusactor - VaporObfuscator is an obfuscator for .net made with dnlib

VMProtect 3.4

  • 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.

Y =>

Yano

  • Yano - Yano is an advanced obfuscator for Microsoft .NET applications

Z =>

Z00bfuscator

  • Z00bfuscator - Z00bfuscator is the simple, open-source, cross-platform obfuscator for .NET Assemblies built on .NET Core
  • 为了防止项目被别人轻松抄袭,所以对代码的压缩、混淆还是很有必要的 一、常见插件介绍 js压缩:terser、uglifyjs js混淆:javascript-obfuscator css压缩:postcss、clean-css html、css、js压缩:html-minifier 这里我们使用 html-minifier(压缩html、css)、javascript-obfuscator(js混

  • 安装环境:Ubuntu16.04 安装autoconf 下载llvm obfuscator的源代码 git clone -b llvm-4.0 https://github.com/obfuscator-llvm/obfuscator.git 增加String Obfuscator功能模块 进入到项目https://github.com/GoSSIP-SJTU/Armariris中,找到li

  • 转自:https://www.againfly.com/flytag_605.html 参考:https://blog.csdn.net/foupwang/article/details/103306332 官网: https://www.npmjs.com/package/javascript-obfuscator 民间安装方式 npm init -f npm install formidabl

 相关资料
  • net

    XMLHttpRequest模块管理网络请求,与标准HTML中的XMLHttpRequest用途一致,差别在于前者可以进行跨域访问。通过plus.net可获取网络请求管理对象。 对象: XMLHttpRequest: 跨域网络请求对象 ProgressEvent: HTTP请求进度事件 回调方法: XhrStateChangeCallback: 网络请求状态变化的回调函数 XhrProgressE

  • Net

    Net中包括: Layer对象:根据Net描述对指定的输入Blob进行某些计算处理(卷积、下采样、全连接、非线性变换、计算代价函数等),输出结果放到指定的输出Blob中。 Blob对象:用于存放每个Layer输入/输出的中间结果 所有的Layer和Blob对象都用名字区分,同名的Blob表示同一个Blob对象,同名的Layer表示同一个Layer对象。 Net、Layer、Blob 类比 我们将

  • net

    import "net" net包提供了可移植的网络I/O接口,包括TCP/IP、UDP、域名解析和Unix域socket。 虽然本包提供了对网络原语的访问,大部分使用者只需要Dial、Listen和Accept函数提供的基本接口;以及相关的Conn和Listener接口。crypto/tls包提供了相同的接口和类似的Dial和Listen函数。 Dial函数和服务端建立连接: conn, err

  • net

    使用Chromium的原生网络库发出HTTP / HTTPS请求 进程:主进程 net 模块是一个发送 HTTP(S) 请求的客户端API。 它类似于Node.js的HTTP 和 HTTPS 模块 ,但它使用的是Chromium原生网络库来替代Node.js的实现,提供更好的网络代理支持。 它还支持检查网络状态。 下面是一个非详尽的列表, 用于说明为什么使用 net 模块而不是原生Node. js

  • 本文向大家介绍.net-core 面向.NET Standard和.NET Framework 4.x,包括了.net-core 面向.NET Standard和.NET Framework 4.x的使用技巧和注意事项,需要的朋友参考一下 示例 通过同时针对net40和netstandard1.3,该库将在.NET 4.0+项目和.NET Standard项目中均可使用。将NETStandard.

  • 本文向大家介绍.net-core 定位.NET标准,包括了.net-core 定位.NET标准的使用技巧和注意事项,需要的朋友参考一下 示例 目标库netstandard1.3可以在支持.NET Standard 1.3或更高版本的任何框架上使用。为库选择较低的.NET Standard版本意味着更多的项目可以使用它,但可用的API却更少。