频道栏目
首页 > 资讯 > 网络安全 > 正文

怎样保护.net中的dll文件

22-06-17        来源:[db:作者]  
收藏   我要投稿

.net是一种建立在虚拟机上并被执行的语言。它直接生成MSIL的中间语言,由解释并映射到本机代码。net编译器JIT并交付给CPU执行。中间语言容易反编译,要研究如何有效保护dll文件。

001X4Z0vly1goqjoxbl03j60zg0l9az202.jpg

我一般的方法是:强签名+混淆+加密。

强签名

强名称程序集可以确保您的程序集* * *不会被篡改或欺诈性使用;如果签名,即使是同名的程序集也会不同。

强签名非常简单。这个网站上的另一篇文章已经详细解释了它。请参考:http://www . cn-web . com/shtml/article/net/fxsj/2009/06/16/913 . shtml。

注意:未签名的主程序可以引用已签名或未签名的程序集;已签名的主程序不能引用未签名的程序集。(以上文章有相应的解决方案)

不著名的

混淆是编译的MSIL中间代码的模糊处理。最简单的混淆就是名字混淆,即命名空间名、类名、方法名、字段名等。都用特殊符号或其他符号代替。目的是让人头晕,但不改变程序执行逻辑。

我在这里使用Dotfuscator是为了避免混淆。

Dotfuscator混淆方法:

1.创建新项目;

2.选择要混淆的dll和exe文件;

3.在属性中选择库属性(非常重要,因为我这里要混淆的是dll文件。如果不选,混淆后就不能正确调用了!),如下图所示:

4.选择bulid选项卡,然后单击bulid按钮进行混淆。

我们还可以选择其他标签来加密字符串,添加水印等。我这里的加密工作用的是另一种方法,所以没有选择运算。

好了,混淆完成后,我们可以用Reflector.exe反编译混淆的dll文件,对比源代码看看效果。

加密

接下来,我们继续对混淆的dll文件进行加密,以进一步保护dll文件。我用的加密工具是MaxtoCode。打开软件后,切换到中文,可以看到非常简单。添加dll文件后,只需点击执行加密。其他选项,如:加密字符串、强名称等。,都很简单,一试就知道了。而且MaxtoCode的帮助非常友好,一看就能用。

加密的dll文件是以前的两倍大。用Reflector.exe反编译后,发现dll文件加密的更彻底,因为主要函数的内容都被隐藏了。通过以上三个步骤,可以防止你的dll文件被普通人破解。当然,也不可能绝对防止被破解。

相关TAG标签
上一篇:软件加密技术从入门到精通
下一篇:怎样在xp下通过命令行对防火墙进行配置呢?
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站