前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于反编译的搜索

如何防止.net中的dll文件被反编译?_VS.NET_西部e网 首页 业界资讯 软件教程 软件下载 硬件频道 家电频道 开发编程 源码下载 游戏频道 手机软件 IT资讯 互联网 IT业界 电信· 3G 网站推荐 互联思考 深度报道 电子商务 职场创业 资料数据 常用软件 操作系统 聊天软件 病毒安全 办公软件 硬件数码 手机使用 笔记本 装机配件 数码相机 精品下载 APP下载 冲浪宝典 新闻频道 开发编程VS.NET 全部 资讯 下载 如何防止.net中的dll文件被反编译? 2010-08-28 10:56:31来源:西部e网作者: .net是一种建立在虚拟机上执行的语言,它直接生成 MSIL 的中间语言,再由.net编译器 JIT 解释映象为本机代码并交付CPU执行。中间语言很容易被反编译,所以研究下如何有效的保护dll文件。 我大致的方法为 :强签名+混淆+加密。 强签名 强命名程序集,可以确保你的程序集唯一,而不被篡改、冒用等;即使相同名字的程序集如果签名也会不同。 强签名很简单,本站另一文章已经详细进行了讲解,请参考:http://www.cn-web.com/shtml/article/net /fxsj/2009/06/16/913.shtml 注:未签名的主程序可以引用已签名或未签名的程序集;而已签名的主程序不能引用未签名的程序集。(上述文章有相应解决办法) 混淆 混淆就是对编译生成的MSIL中间代码进行模糊处理,最简单的混淆是名称混淆,即将 命名空间名、类名、方法名、字段名等统统换成特殊符号或其它符号,目的就是让人看到晕为止,但是并不改变程序执行逻辑。 我这里使用的Dotfuscator进行混淆。 Dotfuscator混淆方法: 1.创建新工程; 2.选择要混淆的dll、exe文件; 3.在属性里选择Library属性(很重要,因为我这里要混淆的是dll文件,如果不选中,混淆后将不能被正确调用!),如下图所示: 4.选择bulid标签,点击bulid按钮进行混淆。 我们也可以选择其它标签进行加密字符串、增加水印等操作,我这里加密工作用另外的方法,所以没有选择操作。 OK,混淆完成后,我们可以用Reflector.exe来反编译下混淆后的dll文件,可以对比源码看下效果。 加密 接下来我们继续对混淆过的dll文件进行加密处理,进一步保护dll文件。 我使用的加密工具是MaxtoCode。 打开软件后,切换到中文,可以看到非常简单,添加上dll文件后,直接点击执行加密就可以。其他选项比如:加密字符串、强名称等都很简单,大家一试就知道,而且MaxtoCode的帮助做的非常友好,一看就会使用。 加密后的dll文件比先前大了一倍,用Reflector.exe反编译后,发现dll文件加密的更彻底,因为主体函数内容都隐藏了。 通过以上三步,使您的dll文件可免于一般人的破解,当然,不可能绝对防止被破解。 关键词:VS.net 相关阅读: Visual Studio 2013正式版将于10月上市 Visual Studio调试的11个小技巧 Visual Studio 2012和.NET 4.5已经就绪 Visual Studio 11更名为Visual Studio 2012 微软发布Visual Studio 11 Beta版本 Visual Studio 11九大新特性解读(组图) Visual Studio 11 Ultimate Beta简体中文版下载 Visual Studio 2011(vNext)的11个新功能 Visual Studio 11新特性介绍 Visual Studio 11预览版官方下载 赞助商链接: 推荐文章 Visual Studio 2011(vNext)的11个新功能 如何防止.net中的dll文件被反编译? 解决Win7下安装VS2010不显示序列号框的两种方法 ASP.NET程序IIS“服务器应用程序不可用”错误解决方法 最新文章 VS2013创建RESTful服务的教程 .NET源码混淆工具推荐及下载 10款好用的.NET图表控件推荐 Visual Studio调试的11个小技巧 在Windows 8上安装Windows Phone 7 SDK的方法 IIS7出现HTTP错误500.22的解决办法 Web Deploy 3.0增加对IIS8的支持 .Net开发者必备的11款开发利器 Windows 2008下安装.NET Framework 3.5的方法 Visual Studio 2011(vNext)的11个新功能 C#中文转Unicode、Unicode转中文及与js对应关 Visual Studio 11新特性介绍 让Visual Studio.NET支持Python代码 C++11 中值得关注的几大变化(详解) ASP.NET Session丢失问题原因及解决方案 ASP.NET MVC在IIS6下部署的小技巧 Visual Studio IDE的使用技巧 ASP.NET如何防范SQL注入式攻击 网站简介 | 版权声明 | 联系我们 | 在线投稿 | 友情链接 | 广告服务 | RSS订阅 | 网站地图 | Copyright © 2000-2011 西部e网 WWW.WESTE.NET. All rights reserved. 陕ICP备05000652号