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查看:

 

时间: 2024-08-01 18:07:18

DNGuard 一款DotNet内核级加密保护工具的相关文章

DNGuard 免费的DotNet加密保护工具 V1.0

DNGuard 是一款免费的DotNet内核模式的加密保护工具. 这是第一个发布版本,版本号定为 1.0.只支持32位系统. 目前还只在 xp和2003上做过测试,其它版本的系统还未测试,大家有条件的麻烦帮忙试试. 运行本程序需要系统安装 .Net 2.0 框架. 支持加密2.0和1.1的程序集,不过还只测试了winform的. 因为IL反汇编和IL汇编都是程序实现的,偷了懒,在IL汇编时都汇编成了2.0的格式. 所以,加密后的程序集需要在 .Net 2.0 的框架下运行. 支持直接对有强名的程

.Net工具 - 常见dotNet加密保护工具分析介绍

本文主要介绍一些dotNet加密保护工具的原理以及就其脱壳进行简单探讨.remotesoft protector.maxtocode..Net Reactor.Cliprotector.themida .Net.xenocode native compiler.DNGuard. remotesoft protector 应该是一款比较老的.net加密保护工具了,看其官方网站似乎还是06年更新过.该软件没有提供试用版下载,相关资料比较少.去年接触过一 个该软件保护的.Net程序.加密后的程序发布时

常见dotNet加密保护工具分析介绍

本文主要介绍一些dotNet加密保护工具的原理以及就其脱壳进行简单探讨.remotesoft protector.maxtocode..Net Reactor.Cliprotector .themida .Net.xenocode native compiler.DNGuard. remotesoft protector 应该是一款比较老的.net加密保护工具了,看其官方网站似乎还是06年更新过.该软件没有提供试用版下载,相关资料比较少.去年接触过一 个该软件保护的.Net程序.加密后的程序发布

剖析DotNet的名称混淆保护技术,兼谈某壳3.15的新保护技术

混淆在目前的DotNet保护中占主流地位.名称混淆是最基础的混淆保护技术.DotNet加密保护工具MaxToCode也在最近的更新中加入了混淆保护--名称混淆. 我们先谈谈名称混淆技术,名称混淆的意义何在?在我看来它就只有一个意义,将表意的名称替换为无意义的名称.如果说再在名称混淆上搞其它的花样都是徒劳的. 名称混淆从本质上可以分为两类. 第一类,最简单的名称混淆--名称替换..Net的元数据中有一个NameTable,这个表里面保存了所有类型,方法,属性,字段等的名称.这一类混淆的本质就是从N

内核级驱动层加密软件哪家强!!!

问题描述 公司需要挑选一款内核级驱动层加密软件目前物色到的软件有:绿盾信息安全管理软件华途文档安全管理系统敏捷安全卫士请各位大神分析下哪个软件比较好,性价比比较高.或者您认为其他软件好也可以推荐.我们公司中型企业,主要从事的是电子设备的对外贸易,企业OA.ERP系统上用的.请各位大神帮忙推荐分析下吧!感激不尽!!!! 解决方案 解决方案二:找山东蓝翔呀解决方案三:那个谁神回复啊!解决方案四:山东蓝翔解决方案五:咋样了哥们,提供一下使用意见吧,我们公司也在选用加密软件.解决方案六:找内核驱动层加密

DNGuard 加密保护的一个程序集sample

被加密的程序集是 .Net 2.0的 winform程序. 下载地址:http://www.bbsftp.com/temp/dngdemo.rar 压缩包中共两个文件:dngtest.exe 被加密的主程序.DNGRuntime.dll, DNGuard的运行库文件,也是一个DotNet的程序集,是用C++/CLI写的,包含有本地代码和IL代码. 运行库的IL代码也做了加密保护,本地代码做了一些混淆. 目前还只在 xp和2003系统上测试过,不知道兼容性怎么样. 如果大家有条件帮忙测试一下系统环

在一款D-Link消费级路由器上,我发现了10个严重漏洞

本文讲的是在一款D-Link消费级路由器上,我发现了10个严重漏洞,近期,信息安全研究员皮埃尔·金(Pierre·Kim)公开了D-Link DIR 850L消费级无线路由器存在的10个严重漏洞. 此次公开的D-Link漏洞涉及多方面问题,如缺乏对固件映像的适当保护机制,意味着黑客可以向目标设备注入包含后门的恶意拷贝,以及D-Link私有的mydlink云协议中的漏洞.皮埃尔·金还发现了远程代码执行漏洞.默认密钥,以及DDoS(分布式拒绝服务攻击)风险.其他风险还包括跨站脚本攻击(XSS).明文

如何加密保护邮件服务器

SSL(Security Socket Layer)协议由Netscape公司设计开发,主要用来提供对用户和服务器的认证:对传送的数据进行加密和隐藏:确保数据在传送中不被改变(即数据的完整性),现已成为该领域中全球化的标准. Stunnel是一款可以加密网络数据的TCP连接工具,可工作在Unix.Linux和Windows平台上,采用Client/Server模式,将CIient端的网络数据采用SSL加密,安全传输到指定的Server端再进行解密还原,然后发送到访问的服务器. StunneI很好

[转贴]内核级HOOK的几种实现与应用

内核级HOOK的几种实现与应用 作者:sinister 内核级HOOK的几种实现与应用 Author  : sinister Email   : sinister@whitecell.org HomePage: http://www.whitecell.org       实现内核级 HOOK 对于拦截.分析.跟踪系统内核起着致关重要的作用.实现的方法不同意味着应用侧重点的不同.如想要拦截 NATIVE API 那么可能常用的就是 HOOK SERVICE TABLE 的方法.如果要分析一些系统