.net程序 混淆、强签名、加密
2012-09-04 13:21
246 查看
大家都知道.net开发的软件,无论WebForm项目还是WinForm项目,发布的时候都是编译成dll或者exe文件。但是我们经常会无论是出于学习还是其他什么目的,想查看软件源代码和解除软件的某些限制。这时反编译技术就派上了用场。上面提到的reflector就是这样一个工具。
他可以把dll或者exe等目标文件反编译成源代码。如果目标文件没有经过混淆、加密等处理,往往反编译得到的源代码跟软件编译前的源代码几乎一模一样。这样就为程序的版权、安全等带来严重的隐患。另外还有个工具ILDASM可以把目标文件反编译成IL源代码。然后我们就可以修改IL源代码,然后再使用ILASM编译这个IL源代码,就可以得到一个修改过的目标文件,这个目标文件解除了程序的某些限制,例如时间限制、使用次数限制。
那么我们如何保护我们的程序不被修改呢?
这两天实际操作了下编译、反编译、混淆。总结如下:
项目中,增加强签名。具体操作方法:右键单击项目,选择属性,找到签名选项卡,新建签名文件,输入密码即可。
项目发布以后,对dll、exe文件进行混淆,混淆工具:Dotfuscator Professional Edition 4.2 ,如果是混淆web项目,请排除web项目文件的重命名功能。免得aspx文件无法引用dll程序集。同理HttpModule一类的引用也要注意。
另外如果还不放心,可以对混淆过的文件进行加壳。加壳工具: MaxtoCode.Professional.2007.v3.21-Lz0.rar该工具我没有亲自试用过,有兴趣的自己研究。
通过以上三层保护,应该可以对付一般的破解菜鸟了。本来文章都没什么可说的,但是想想还是介绍一下,对没有接触混淆的网友应该能有帮助。免得走弯路。
我就走了很多弯路。找Dotfuscator Professional Edition 4.3版找了好久,用其他的混淆软件也摸索了许久,这里不得不提到一个软件:Xenocode Postbuild,最新版本是2008,该软件是非常出名的混淆器。但是我没有找到好用的下载,有该软件的朋友请发给我。还有NET Reactor(带注册文件)也是一个混淆器,可以混淆.net 2.0以前的版本。
总结:以上提到的两个方法“强签名”和“Dotfuscator Professional Edition 4.2”混淆是简单易用的保护程序集的办法。推荐使用。
相关文章推荐
- 加密混淆.Net程序
- .net程序混淆、安全、保护、加密
- .NET程序混淆、安全、保护、加密
- .NET程序混淆、安全、保护、加密
- 老歌新唱--使用VB6开发的ActiveX实现.NET程序的混淆加密
- 老歌新唱--使用VB6开发的ActiveX实现.NET程序的混淆加密
- .net程序混淆、安全、保护、加密
- .net程序混淆、安全、保护、加密
- 数据结构在.net加密解密反流程混淆中的应用[看雪学院2006金秋读书季]
- MaxtoCode对.Net程序加密的原理及解密探讨
- MaxtoCode对.Net程序加密的原理及解密探讨二
- 字符串混淆技术应用 设计一个字符串混淆程序 可混淆.NET程序集中的字符串
- Unity3D项目程序加密2——对dll进行混淆
- Python程序的混淆和加密
- 利用Mono-cecil实现.NET程序的重新签名,重新链接相关库的引用
- 数据结构在.net加密解密反流程混淆中的应用[看雪学院2006金秋读书季]
- Visual Studio 2017中使用正则修改部分内容 如何使用ILAsm与ILDasm修改.Net exe(dll)文件 C#学习-图解教程(1):格式化数字字符串 小程序开发之图片转Base64(C#、.Net) jquery遍历table为每一个单元格取值及赋值 。net加密解密相关方法 .net关于坐标之间一些简单操作
- <U3D>Unity3D项目程序加密2——对dll进行混淆
- .NET程序的代码混淆、加壳与脱壳
- 程序签名+代码混淆+软件授权