紫雨轩 .Net, DNGuard HVM , .Net VMProtect

DNGuard HVM - Advanced .NET Code Protection Technology

常用链接

统计

积分与排名

友情连接

最新评论

DNGuard 一款DotNet内核级加密保护工具

最近一直学习DotNet相关资料,sscli真是好东西啊:P。

一边学习一边把知识综合了一下,做了这个小工具。
保护原理和国人的remotesoft,maxtocode差不多。加密后的程序发布时也需要附带一个运行库,
不过和那两个不同,附带的运行库不是纯native的dll,而是C++/CLI的混合程序集。

工具已经有了雏形,整体内核框架完成了。用来加密了一个sample,运行正常。
有些方面甚至超过了maxtocode。

1.不依赖微软的ildasm和ilasm程序。
  IL反汇编和IL汇编都程序实现。
 可以加密包含本地代码的程序集。

2.Anti反编译工具,maxtocode加密的程序集无法用reflector直接查看,但是程序运行后用pedumper,dump后就可以用reflecotr查看结构了,当然还是看不到代码的。
dnguard加密的程序集比我预期的效果还要好,加密后的程序集无法用reflector查看,dump后的也无法用reflector插件。

感觉reflector还是有些弱,同类软件Disa#, Xenocode fox 就可以直接打开查看maxtocode和dnguard加密的程序集。
为此我尝试在dnguard加密的程序集里面增加了结构混淆,有一点效果,就是在Disa#和 fox里面查看结构是会出现一些张冠李戴的混乱,即类A的函数可能会显示到类B中。效果还不是很好,会出现问题的函数每个类只有很少的几个。

3.Anti .Net 2.0的新特性,不是很强,强度和maxtocode 3.13(内部版)差不多,听说maxtocode出了3.14了,不知道强度是否有增强(看Jason的blog里的回复似乎和3.13是一样的)。max的3.12patch几个字节,反射就可以用了,3.13也差不太多,需要patch的字节数比3.12还要少。

关于这个方面现在有一个比较好的方案,能够在不影响效率的前提下使强度提高很多。但也不能完全防dump。
还有一个比较完美的防dump的方案,需要配合另一项保护技术一起才能实现。
这个方面不打算再深入探讨了,等DNGuard加密壳完成后,会着手另一项保护技术,最后将两项保护合在一起。

4. Anti dump后用ildasm,ilasm恢复程序集。DNGuard除了anti .net 2.0的新特性防dump外,还增加了anti,我早期做的dumper。另外还利用C++/CLI混合程序集的特性实现了,防dump后ildasm。不过这个强度不大,对小程序集能被很容易修复后实现il汇编。

现在需要做的工作还有很多,加密算法还没有弄,运行库自身的保护也还没有做。发现纯native的dll可以找到现成的保护工具,就thmida很不错,maxtocode的运行库就有用这个壳,C++/CLI的dll就一直找不到好的方法。看来只能手动加一层保护了,已经开始着手试验了。现在准备加一个简单的加密壳,等这个做完后就把DNGuard放一个demo上来。

DNGuard加密程序集后用reflector查看:
 


DNGuard加密程序集dump后用reflector查看:

 



 Maxtocode加密后的程序集用Reflector查看:

 


Maxtocode加密程序集Dump后用Reflector查看:


 



posted on 2006-11-20 23:41 紫雨轩 .Net 阅读(3614) 评论(22)  编辑 收藏 所属分类: DNGuard

评论

#1楼  2006-11-21 00:17 小鬼[匿名] [未注册用户]

晕,有必要进行加密不?
还是开源好.哈哈.   回复  引用    

#2楼 [楼主] 2006-11-21 00:38 瑞克      

一点保护都没有,强度就要差很多了。
  回复  引用  查看    

#3楼  2006-11-21 00:47 Zealic      

关注
支持
牛人
很好
强猛   回复  引用  查看    

#4楼  2006-11-21 08:43 fuyun [未注册用户]

关注中,希望加快开发力度。
  回复  引用    

#5楼  2006-11-21 10:04 匆匆的过客 [未注册用户]

写的太好需要加密么?怕别人学习进步?
写得太丑需要加密么?敝帚自珍,家丑莫扬?
为了安全需要加密么?不是代码加密所能解决的吧?
  回复  引用    

#6楼  2006-11-21 10:16 GoGoSonny      

支持对加密技术的研究!

希望微软的开发组也能做出点东西来保护源码安全~   回复  引用  查看    

#7楼  2006-11-21 10:25 simonw      

支持, .net这方面的东西实在不多.   回复  引用  查看    

#8楼 [楼主] 2006-11-21 11:30 瑞克      

@匆匆的过客
什么加密都没有绝对的安全。

就和木桶理论一样,至少要保证各个木板的长度相当,不能其它的很长,其中一块很短。
  回复  引用  查看    

#9楼  2006-11-21 12:05 tankaiha [未注册用户]

原来你小子最近玩这个   回复  引用    

#10楼  2006-11-21 15:48 itwalker[匿名] [未注册用户]

我支持。
看了有些人的留言,我深深感觉到,中国IT靠你们还真tm靠不住。   回复  引用    

#11楼  2006-11-22 03:34 管理制度 [未注册用户]

不错,学习一下   回复  引用    

#12楼  2006-11-22 18:18 ec [未注册用户]

早点做出来吧,本来MAXTOCODE效果还可以,结果升级跟不上,太垃圾了,以前的代码全可以看了。   回复  引用    

#13楼 [楼主] 2006-11-23 08:59 瑞克      

谢谢支持,因为现在是业余时间做这个,进度会慢一些。
  回复  引用  查看    

#14楼  2006-11-23 11:35 酱板猪      

是阿,源代码都不保护,,
给我们有些人,直接改头换面当自己的成果,
直接Copy+C,Copy+V应用到自己的代码里,连个出处都不给???

不要学发改委,什么涨价都要国际接轨。。。
现在中国还没有开源的环境。。

  回复  引用  查看    

#15楼 [楼主] 2006-11-24 00:32 瑞克      

maxtocode不同版本之间只是加密算法数量和加密算法强度的区别,我用的脱壳方式是不用管加密强度的。在网上也找了几个maxtocode专业版保护的软件试过。

加密壳确实不太好做到兼容性和稳定性以及强度都很好。
这方面还需要做更多的尝试,现在已经找到一项和它互补的保护技术,等这个弄完了,就会着手弄那个,最后将它们结合到一起。   回复  引用  查看    

#16楼  2006-11-28 09:46 数据绑定者      

哪里有下载 ?   回复  引用  查看    

#17楼 [楼主] 2006-11-28 10:03 瑞克      

另一篇文章里面
DNGuard 免费的DotNet加密保护工具 V1.0   回复  引用  查看    

#18楼  2007-02-05 21:00 xxx [未注册用户]

楼主又不开源。。。纯支持得了。   回复  引用    

#19楼  2008-03-17 20:00 lbq1221119      

欢迎你加入sscli团队
希望你能把你的文章分享到sscli.cnblogs.com

这里,有对sscli执迷不悟的一群志同道合的朋友   回复  引用  查看    

#20楼 [楼主] 2008-04-01 14:03 瑞克      

怎么加入?   回复  引用  查看    

#21楼  2008-04-09 21:02 lbq1221119      

@瑞克
呵呵,已经把你加到团队里面了.
非常赞你对sscli和ee还有crack的研究文章

^_^ 非常欢迎你志同道合的文章.   回复  引用  查看    


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-11-25 11:58 编辑过


相关链接: