Phoenix Protector 可以针对 .NET 编译的程序进行保护. 对于 .NET 开发者来说是种不错的保护解决方案,并支持所有的 .NET 框架.它提供了名称混淆,字符串混淆,控制流混淆和强命名混淆等多种模糊特性来加密您的代码.其中的控制流混淆是非常重要的.事实上,它将改变程序结构, 如果反编译程序试图反编译控制流混淆保护后的程序,将可能造成自身的崩溃,就算不崩溃,至少也无法获取到任何有益的代码.
加密特性:
名称混淆
排除清单中的名称混淆
字符串混淆
控制流混淆
程序集合并(通过Microsoft utility IlMerge)
其实软件混淆是可以提高安全性,但是做不到一定安全。在软件安全性要从多方面考虑,例如:提高写代码的质量;软件本身的框架结构;网络通讯机制;数据加密机制等;对于大型软件来说,就算是把混淆去掉,对于软件的逻辑来说,也是很难破解的。对于NET软件的混淆,只是软件安全的一个方面。
这个小软件,仅供大家参考吧。
混淆之后的效果:
class="zoom" src="/Upload/Images/2013101711/00F8806D05B3DE00.png" alt="" width="470" />
下载:http://dl.vmall.com/c0bs27ax5v
文章来源:http://bbs.bmpj.net/thread-47920-1-1.html
以下是官方介绍:
This application is now freeware for various reasons. I first wrote the core of the Phoenix Protector for a company when I was 19. That project didn't work out for internal reasons not related to the quality of the product itself. I then wrote the Phoenix Protector, which was basically a new GUI for the now improved core. However, during the years (one has to consider that I was quite young when I developed the .NET obfuscator) I became ever more conscious that I didn't want to spend my life writing protections and also that I was not convinced by protections for the .NET technology in the first place. That's partly why I wrote Rebel.NET. By combining Rebel.NET with the DisasMSIL engine it is very easy to write a code obfuscator for .NET assemblies. The only thing which would be missing is name obfuscation and string encryption, which are even easier as protections. That's why I'm releasing the Phoenix Protector for free: nowadays, writing a commercial obfuscator doesn't make much sense to me. The code obfuscation provided by the Phoenix Protector is quite good when compared to other commercial obfuscators. I noticed that most obfuscators provide a very easy to reverse code obfuscation scheme. I'm not saying that the Phoenix Protector's code obfuscation can't be reversed. Every .NET code obfuscation scheme can be reversed somehow and the rebuilding task becomes very easy through Rebel.NET.Created by Daniel Pistelli. The Phoenix Protector was created to protect .NET assemblies and it's the ideal solution for every .NET developer, due to its support of every kind of project and compatibility with every version of the .NET framework. It has all common obfuscation features to secure your code. It provides obfuscation features like Name, String and Control Flow Obfuscation. The last feature is particularly important since it prevents the .NET assembly from being decompiled into an understandable language. The Name Obfuscation is provided with an exclusion list. For more information: info@ntcore.com.
Using the Name Obfuscation feature all
the original MetaData names in a .NET Assembly are renamed to ones that
aren't understandable. By simply obfuscating an assembly with this
feature, the decompiled code will result uncompilable, since the
obfuscated names can't be used in any .NET supported programming
language. Of course, exclusion of user defined classes, methods, fields
and properties is supported, since some public names can't be renamed to
make certain assemblies work correctly.
Other features are the String and the
Control Flow Obfuscation. The String Obfuscation makes strings invisible
to decompilation and disassembling. It doesn't give a strong protection
but it's a standard feature for .NET assemblies. The Control Flow
Obfuscation is very important. In fact, it makes your code not
decompilable by changing basic identification structures such as
conditional blocks and loops in it. An attempt to analyze your code will
cause the decompiler to crash or, at least, it won't generate any
useful code.
Also, merging your assemblies could
make your code even more secure. That's why the Phoenix Protector is
shipped with an easy-to-use interface for Microsoft's ILMerge utility.
Features: