`
pcajax
  • 浏览: 2173571 次
  • 性别: 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文件可免于一般人的破解,当然,不可能绝对防止被破解。

分享到:
评论

相关推荐

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

    标题提到的"C#, Asp.net发布后的dll文件反编译"正是关于这个主题。当你拥有一个C#编译生成的DLL,而你没有原始源代码时,反编译工具可以帮助你分析和理解DLL中的代码逻辑。在描述中提到,这种工具同样适用于Asp.NET...

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

    DLL反编译工具的工作原理通常是先读取DLL文件中的二进制代码,然后通过反汇编技术将其转换为接近源代码的高级语言表示。这涉及到对汇编语言的理解、操作系统的内存管理和调用约定等多个领域的知识。反编译过程可能不...

    .NET dll文件反编译工具

    "Reflector"是一个著名的.NET dll文件反编译工具,它能够将.dll文件转换回易于理解的C#、VB.NET或其他.NET语言的源代码形式。Reflector提供了强大的反编译功能,包括对IL代码的解析、元数据的查看以及对.NET框架类库...

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

    .NET Reflector 5.0 Release 是一款强大的DLL文件反编译工具,由Red Gate Software公司开发,它允许开发者查看、分析和理解.NET框架中的任何托管代码。这款工具在.NET开发领域具有广泛的应用,因为它提供了深入洞察...

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

    本文将详细介绍如何使用Reflector for .NET这款强大的反编译工具,来查看和分析.dll文件的内容。 Reflector for .NET是一款功能强大的反编译器,它能够将编译后的.NET程序集(如.dll或.exe文件)还原成源代码,帮助...

    .Net dll反编译工具

    标题中的".Net dll反编译工具"指的是专门用于解析和反编译.NET Framework下的DLL(动态链接库)文件的软件。DLL文件是Windows操作系统中的一种程序组件,它们包含可由多个程序同时使用的代码和数据。在.NET环境中,...

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

    Reflector是一款著名的.Net框架下的DLL反编译工具,由Lutz Roeder开发并首次发布于2003年。这款工具对于.NET开发者来说极其重要,因为它允许他们查看、理解和学习.NET程序集(如DLL和EXE文件)的内部工作原理。下面...

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

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

    .net语言dll反编译工具

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

    .net dll反编译工具

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

    .net 4.0 反编译编译工具

    ILDASM是.NET Framework自带的一个工具,它能够将已编译的.NET程序集(如DLL或EXE文件)反编译为中间语言(IL,Intermediate Language),这是一种低级别的汇编语言,类似于CPU指令集,但与特定硬件无关。...

    asp.net反编译工具

    在ASP.NET中,编译后的代码通常以DLL文件的形式存在,这使得源代码对于外界来说是不可见的。然而,有时候开发者或者安全研究人员可能需要查看这些编译后的代码,以理解其工作原理或者进行逆向工程。这就是ASP.NET反...

    C#用S7.net

    "反编译软件"是另一个重要的工具,它能够将DLL文件中的机器码转换回源代码的形式,使开发者能查看其内部实现,理解其工作原理。这对于学习和调试S7.net.dll的功能非常有帮助,特别是当官方文档不足或者需要定制某些...

    asp.net_DLL文件反编译器

    本篇将详细讲解ASP.NET DLL文件反编译器的相关知识点。 1. **DLL文件**:DLL(Dynamic Link Library)是Windows操作系统中的一个重要组成部分,它包含了一组可供多个程序共享的函数和资源。在.NET环境中,DLL文件...

    .net dll的一款很好用的反编译工具

    3. 支持多种.NET框架:Reflector不仅支持.NET Framework的基础反编译,还能够处理.NET Core、.NET Standard和其他.NET变体中的库。 4. 插件扩展性:Reflector拥有丰富的插件生态系统,如Lokad.CQRS、ILSpy等,这些...

    最新免费.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反编译工具,可以反编译.net工程

    综上所述,.NET反编译工具在.NET生态系统中扮演着重要角色,它们为开发者提供了洞察.NET程序集内部机制的能力,促进了学习、分析和调试过程。在使用这些工具时,应根据具体需求选择合适的工具,并遵守相应的使用规则...

Global site tag (gtag.js) - Google Analytics