zoukankan
html css js c++ java
.NET程序混淆、安全、保护、加密
大家都知道.net开发的软件,无论WebForm项目还是WinForm项目,发布的时候都是编译成dll或者exe文件。但是我们经常会无论是出于学习还是其他什么目的,想查看软件源代码和解除软件的某些限制。这时反编译技术就派上了用场。上面提到的reflector就是这样一个工具。 reflector下载:http://www.svnhost.cn/Download/Detail-18.shtml 他可以把dll或者exe等目标文件反编译成源代码。如果目标文件没有经过混淆、加密等处理,往往反编译得到的源代码跟软件编译前的源代码几乎一模一样。这样就为程序的版权、安全等带来严重的隐患。 另外还有个工具[b]ILDASM[/b]可以把目标文件反编译成IL源代码。然后我们就可以修改IL源代码,然后再使用[b]ILASM[/b]编译这个IL源代码,就可以得到一个修改过的目标文件,这个目标文件解除了程序的某些限制,例如时间限制、使用次数限制。 那么我们如何保护我们的程序不被修改呢? 这两天实际操作了下编译、反编译、混淆。总结如下: 项目中,增加强签名。具体操作方法:右键单击项目,选择属性,找到签名选项卡,新建签名文件,输入密码即可。 项目发布以后,对dll、exe文件进行混淆,混淆工具:Dotfuscator Professional Edition 4.2[下载:http://www.svnhost.cn/Download/Detail-324.shtml],如果是混淆web项目,请排除web项目文件的重命名功能。免得aspx文件无法引用dll程序集。同理HttpModule一类的引用也要注意。 另外如果还不放心,可以对混淆过的文件进行加壳。加壳工具: MaxtoCode.Professional.2007.v3.21-Lz0.rar [下载:http://www.svnhost.cn/Download/Detail-334.shtml]该工具我没有亲自试用过,有兴趣的自己研究。 通过以上三层保护,应该可以对付一般的破解菜鸟了。本来文章都没什么可说的,但是想想还是介绍一下,对没有接触混淆的网友应该能有帮助。免得走弯路。 我就走了很多弯路。找Dotfuscator Professional Edition 4.3版找了好久,用其他的混淆软件也摸索了许久,这里不得不提到一个软件:Xenocode Postbuild,最新版本是2008,该软件是非常出名的混淆器。但是我没有找到好用的下载,有该软件的朋友请发给我。还有NET Reactor(带注册文件)[下载:http://www.svnhost.cn/Download/Detail-258.shtml]也是一个混淆器,可以混淆.net 2.0以前的版本。 总结:以上提到的两个方法“强签名”和“Dotfuscator Professional Edition 4.2”[下载:http://www.svnhost.cn/Download/Detail-324.shtml]混淆是简单易用的保护程序集的办法。推荐使用
作者:
灵雨飘零
出处:
http://www.cnblogs.com/kingboy2008/
本文版权归作者和博客园、CSDN共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。该文章也同时发布在我的独立博客中-
博客园—灵雨飘零
和
CSDN—灵雨飘零
。
查看全文
相关阅读:
浅析深度优先和广度优先遍历实现过程、区别及使用场景
浅析为什么要用setTimeout模拟setInterval
app弹出软键盘获取键盘高度不准确的原因及导致底部定位的元素无法贴近键盘的问题
App平台iOS设备上因内存不足导致白屏、闪退的原因及其解决方案
浅谈移动端开发技术
浅析Console命令调试常用方法
js正则表达式中的正向肯定预查和正向否定预查, 反向肯定和反向否定(这个翻译不准确)
javascript的版本查看及js的历史
【转】JS-正则表达式的反向引用
【转】Linux虚拟网络设备之tun/tap
原文地址:https://www.cnblogs.com/kingboy2008/p/2055592.html
最新文章
opkg install 自动安装
MIPS 24k 34k 74k
Linux中arp表的老化机制
在OpenWRT里添加自定义机型
UOS 以及 部分NetworkManager管理linux服务器 设置固定IP地址的办法.
修改netsnmp监听端口
【Java】分布式自增ID算法---雪花算法 (snowflake,Java版)
postgres 查看历史sql执行记录
HTTP协议之multipart/form-data请求分析
TkMybatis设置控制台打印sql
热门文章
feign.form.spring.SpringFormEncoder.<init>(SpringFormEncoder.java:58)
pg_dump导出psql导入举例
查看postgre都有哪些语句占用CPU,以及对应的sql语句
MappedByteBuffer文件句柄释放问题
Maven 打包指定名称
Design5:索引设计
H5唤起APP的解决方案:手机浏览器跳转app内指定页面(URL Scheme使用)
Android平台、iOS平台设置UrlSchemes,实现被第三方应用调用
浅析atom-style CSS思想
浅析http简单请求与复杂请求
Copyright © 2011-2022 走看看