dotNET 您所在的位置:网站首页 simpleobfuscation下载 dotNET

dotNET

2024-07-10 22:44| 来源: 网络整理| 查看: 265

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:

像c++这样的编译语言可以直接转换为字节码。逆向工程的唯一方法是使用反汇编器,这是一个艰巨而复杂的过程。这并非不可能,但试图从汇编语言流推断高级应用程序逻辑是困难的。

另一方面,像c#和Java这样的语言并没有针对任何特定的操作系统进行编译。相反,它们被编译成一种中间语言,比如。net的MSIL。中间语言类似于汇编语言,但它可以很容易地转换回源代码。这意味着,如果您有一个公共DLL或可执行文件,您的业务正在分发,任何人都可以在。net反编译器中打开它,如dotPeek,并直接读取(和复制)您的源代码。

代码混淆不能阻止这个过程——任何. net DLL都可以插入到反编译器中。混淆所做的是使用一些技巧使源代码非常讨厌阅读和调试。

最简单的形式是实体重命名。通常的做法是根据变量、方法、类和参数的作用来正确地命名它们。但你没有必要这样做,而且从技术上讲,你可以用一系列小写的L和I或者中文unicode字符的随机组合来命名它们。对电脑来说,这是没有问题的,但对人类来说却是完全无法理解的:

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.

将一种编程语言转换成另一种编程语言并不是一个完全疯狂的想法——unity使用IL2CPP,这是一个将。net代码转换成编译过的c++字节码的转换器。它的性能更高,但它也有助于确保游戏不易被轻易破解,这对于饱受盗版和作弊困扰的环境至关重要。

微软有coret,这是一个实验性的。net Core运行时,使用的是提前编译,不过还没有准备好投入生产使用。

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.

如果您将代码部署在不受信任的环境中,并且希望保护源代码,那么您几乎总是应该至少使用一个基本的混淆器来重命名函数、方法和属性,以使反编译花费更多的精力。

如果你真的不需要任何人来反编译你的应用程序,你可以使用一个更具侵入性的混淆器,但你真的应该考虑,如果切换到一种不存在这个问题的语言,如c++或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.

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 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 Aldaray Rummage Obfuscator - Tie your code into knots and make the hackers cry 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 AsStrongAsFuck - A console obfuscator for .NET assemblies. 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 Cheap Obfuscator - a pretty bad obfuscator made to learn Confuser1337 Confuser1337 - bad 2016 code, i dont recommend anyone uses it D => dotNetObfuscator dotNetObfuscator - Обфускатор строки для C# 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 DarksProtector - DarksProtector 2.0 | ConfuserEx Modded 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 Denvelope - NET Obfuscator 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 DotNetGuard - .Net Protector ( ConfuserEx Mod ) DotNetPatcher DotNetPatcher - DotNetObfuscator 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 protecting executable 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 Habib Extreme Protector - A Strong .NET Obfuscator & 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 Krawk Protector - .NET Obfuscator and 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 MindLated - .net obfuscator using dnlib 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 for your 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 NETZ Compressor - 2004 .NETZ compresses Microsoft .NET executables NET-Obfuscator NET-Obfuscator - Simple .net obfuscator using Mono Cecil 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 Obfuscator.NET 2009 - Protect your .NET assembly OctopusObfuscator OctopusObfuscator - Basic obfuscator for .NET Orange Heap obfuscator Orange Heap obfuscator - free and efficient way to protect your .NET software P => pshield pshield - Plugin-based obfuscator Panda-Obfuscator Panda-Obfuscator - PandaObfuscator an simple Obfuscator, free, OpenSource for .Net Applications PAOfuscator PAOfuscator - Obfuscator für Paradise.de 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 Phoenix Protector - .NET Obfuscator & 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 Rzy Protector - Rzy Protector | A public confuserex modded 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 Self-Morphing C# Binary - C# binary that mutates its own code, encrypts and obfuscates itself on runtime 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 SourceCodeObfuscator - C# source code obfuscator SpecterObfuscator SpecterObfuscator - This Application will obfuscate your .NET Assembly 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 Trinity-ConfuserEx-Mod - A modded ConfuserEx created by Mighty, Bed and Centos. 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


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有