原文 http://www.cnblogs.com/PHPIDE/archive/2013/04/17/3026356.html
.NET开发人员都知道,.NET的优点是比较多的,如:标准集成,简化应用,对移动设备的支持等,它是一个巨大的跨时代进步。但.NET程序有个 致命的缺点:易被反编译。试想一个团队花了几个月甚至几年时间辛苦开发的劳动成果被轻易破解,那将情何以堪?因此,为了保护软件安全,进行源码混淆,加壳和授权控制是行之有效的安全策略,而使用最多的保护手段就是使用代码混淆器。本人简单对比了常见的3款.NET源码混淆器,希望使开发人员对这3款.NET源码混淆器的选择有初步的了解。
源码混淆
源码混淆指在不影响功能的前提下,通过对程序源码的分析,改变源码的原始面貌,将代码变得模糊难以理解,这样可以降低源码可读性。有效的源码混淆还增加了代码的复杂度,使变换后的代码不可逆转。
常用的.NET源码混淆工具
目前市场上的混淆器品种繁多,比较出名的.NET源码混淆工具有:Dotfuscator,Skater .NET obfuscator,Xenode.NET Obfuscator。
Dotfuscator
在众多的.NET源码混淆产品中,Dotfuscator是 最出名的。Dotfuscator是全球著名的源码混解决方案提供者PreEmptive公司的明星产品,可以使得您的应用程序更加小巧以及高效,是提 高.NE应用程序效率的最佳选择。而且,从Visual Studio 2003到现在,.NET混淆器Dotfuscator被嵌入到了Visual Studio的每个专业版或者更高版本。这些事实证明,Dotfuscator是当之无愧的.NET源码混淆和软件安全领域的王者。
Skater .NET Obfuscator
Skater .NET Obfuscator具 备所有软件保护技术及混淆算法,适合那些希望周期性地混淆.NET产品代码的用户。此外,Skater .NET Obfuscator提供了标准版、专业版和终极版,可为软件开发者提供混淆器的所有功能。而且,它的授权简单而且价格实惠,在大小企业中皆受欢迎,是最 实惠的代码保护解决方案。
Xenode.NET Obfuscator
Xenocode较Dotfuscator相比,在名称混淆时可以选择要混淆的方法或标识符;控制流混淆时可以选择混淆的等级。Xenocode Postbuild最大的优点是,它可以使.NET程序脱离.NET框架运行。但混淆后会使程序启动变慢,文件变大。
总结
以上3款.NET源码混淆工具是开发人员使用最多的产品,每一款都各具优势。Dotfuscator功能最强大,但是价格相对较高,适合大型企 业;Skater .NET Obfuscator功能的源码混淆功能丰富,但混淆效果一般,适合大中型企业。Xenode.NET Obfuscator可以使.NET程序脱离.NET框架运行,这是它的一大优点,但是混淆功能和混淆效果一般,而且混淆后会使程序启动变慢,文件变大, 这是该产品的一大硬伤。