`
pcajax
  • 浏览: 2110759 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

如何保护.net中的dll文件(防破解、反编译)

阅读更多

.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文件可免于一般人的破解,当然,不可能绝对防止被破解。

分享到:
评论

相关推荐

    .NET dll文件反编译工具

    .NET dll文件反编译工具,使用该工具可以反编译用。net编译生成的。dll文件,非常好用

    DLL 反编译工具 反编译.net的DLL文件

    DLL反编译工具DLL反编译工具DLL反编译工具DLL反编译工具DLL反编译工具DLL反编译工具

    .NET Reflector 5.0 Release dll文件返编译工具

    .NET Reflector 5.0 Release dll文件返编译工具

    用Reflector for .NET反编译dll文件(.net)

    用Reflector for .NET反编译dll文件(.net),把整个dll导出个cs插件

    reflector(.Net的Dll反编译工具)

    reflector(.Net的Dll反编译工具),一个不错的工具

    .net语言dll反编译工具

    本工具适用于.net开发的后台dll的反编译。 使用说明: ...2、File→Open→选项你需要反编译的dll文件 3、在工具列表中找到你附加进去的dll类库名称展开就会找到类库对应的所有类、方法、属性等信息。

    C#,Asp.net发布后的dll文件反编译

    如果你需要查看一个C#编译过后的dll文件的源代码,可以使用该工具,asp.net网站发布后的dll文件可以使用该工具查看到程序里的源代码。

    .net dll反编译工具

    Reflector for .NET Remotesoft .NET Explorer .dll 文件反编译的工具软件: Reflector for .NET Remotesoft .NET Explorer Remotesoft .NET Explorer 支持asp.net2.0 要真正反编译.dll文件就在网站上使用该软件去...

    保护.net中的dll文件方法(防止破解、反编译dll)

    中间语言很容易被反编译,所以研究下如何有效的保护dll文件。 我大致的方法为 :强签名+混淆+加密。强签名 强命名程序集,可以确保你的程序集唯一,而不被篡改、冒用等;即使相同名字的程序集如果签名也会不同。强...

    .Net dll反编译工具

    一款非常好用的国外反编译工具,免费、开源,解压后点击exe文件即可使用。

    最新免费.net开源反编译工具

    对于反编译的程序集,它既可以将其保存在一个文件中,也可以为所有文件创建一个项目。ILSpy是一个独立的工具,没有Visual Studio集成。,ILSpy 是为了完全替代收费的Reflector而生,它是由 iCSharpCode 团队出品,这...

    用Reflector for .NET反编译dll文件

    用Reflector for .NET反编译dll文件(.net) 1.下载Reflector.FileDisassembler.zip, 解压后得到一些文件,其中Reflector.FileDisassembler.dll是已经编译好的,其它是它源码; 2.打开Reflector,在view菜单下的Add...

    .net的dll反编译工具

    主要是.net的dll反编译工具(Reflector),能够很好把.net编译成dll的文件进行反编译工作

    .net反编译工具可以编译DLL和.exe文件

    .net反编译工具可以编译DLL和.exe文件.net反编译工具可以编译DLL和.exe文件

    DLL反编译工具,轻松破解.net生成文件

    DLL反编译工具,轻松破解.net生成文件

    .net混淆dll加密工具及用法图片

    加密.net开发的dll文件防止反编译

    Reflector反编译Dll

    ASP.NET编译的DLL文件是否可以反编译? .net 很容易反编译的,用过混淆工具,效果不理想 1.下载Reflector.FileDisassembler.zip,解压后得到一些文件,其中Reflector.FileDisassembler.dll是已经编译好的,其它是它...

    .NET Reflector dll反编译器

    Reflector for .NET是利用.NET反射机制来分析程序集而实现的一款反编译及类浏览软件,它可以将采用.NET平台语言编写的可执行文件及动态链接库反编译成多种程序语言的源代码,有效地帮助开发人员了解实现细节并提高了...

    反编译DLL文件为.CPP工具

    用 Visual Studio 6.0/.NET 建立一个 DLL 工程,把这个 CPP 文件加入到项目中。  3.使用 Release 方式编译,生成的 DLL 将和原来的 DLL 具有一模一样的导出函数,并且能顺利把这些函数转发到原来的函数中。  4....

Global site tag (gtag.js) - Google Analytics