广

ASP.NET

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

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

    2018-04-05 08:32:48 次阅读 稿源:互联网
    广告

      最近一直学习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查看:

       

      http://www.cnblogs.com/rick/archive/2006/11/20/566704.html

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告