.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文件可免于普通人的破解,当然,不能够绝对防止被破解。
读库教程网文章由网络收集后整理发布,文章发布人拥有该内容的所有权力及责任!
如果你喜欢这页,可以按Ctrl+D收藏起来。







