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

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: .NET DLL 加密壳工具是一种用于保护 .NET 程序安全的加密工具。具体而言,该工具可以将.dll 文件进行加密,防止未经授权的人员或程序对其中的代码和数据进行访问或修改。 .NET DLL 加密壳工具的原理是将.dll 文件进行加密,并注入壳程序中。当程序运行时,壳程序会将加密的.dll 文件加载到内存中,并在需要时进行解密。这样可以保护程序的安全性,防止黑客或病毒对其中的代码进行篡改或盗取。 使用.NET DLL 加密壳工具还有其他额外的好处。例如,它可以减小程序的体积,因为壳程序可以在运行时动态地加载使用所需的功能,而不是加载整个.dll 文件。同时,由于加密后的.dll 文件难以被反编译,因此可以保护程序的知识产权和商业机密。 总的来说,.NET DLL 加密壳工具是一种非常有效的保护程序安全的工具。它可以减少黑客和病毒攻击程序的风险,并保护程序所属人的知识产权和商业机密。 ### 回答2: .NET DLL加密壳工具是一种用于保护.NET DLL文件的软件工具。当开发人员创建一个.NET DLL文件,他们通常希望这个文件只能被授权的用户或应用程序使用,而不是被未经授权的人或应用程序使用。为此,他们可以使用.NET DLL加密壳工具来对这个文件进行加密。 这种工具工作的方式是将原始DLL文件中的代码和资源转移到另一个加密DLL文件中,并将解密代码插入到原始DLL文件中。这样,只有解密代码和已授权的用户或应用程序才能访问原始DLL文件中的代码和资源。其他人或应用程序尝试访问这个文件时,将会看到加密的文件,而无法获得其中的原始代码和资源。 使用.NET DLL加密壳工具可以有效地保护.NET DLL文件的安全性,防止未经授权的访问和访问授权之外的用户或应用程序。同时,这种工具也有助于保护知识产权,防止其他人复制和重用原始DLL文件中的代码和资源。 总之,.NET DLL加密壳工具是一种重要的安全工具,能够帮助开发人员保护他们创建的.NET DLL文件的安全性和知识产权。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值