知识大全 常见dotNet加密保护工具分析介绍

Posted

篇首语:我希望在颠沛流离之后,还能够重新遇见温暖的你,那时候,你刚好成熟,而我,刚好学会温柔。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 常见dotNet加密保护工具分析介绍相关的知识,希望对你有一定的参考价值。

常见dotNet加密保护工具分析介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  本文主要介绍一些dotNet加密保护工具的原理以及就其脱壳进行简单探讨 remotesoft protector maxtocode Net Reactor Cliprotector   themida Net xenocode native piler DNGuard           remotesoft protector      应该是一款比较老的 net加密保护工具了 看其官方网站似乎还是 年更新过 该软件没有提供试用版下载 相关资料比较少 去年接触过一个该软件保护的 Net程序 加密后的程序发布时需要附带native 的 dll  这款壳可以算是jit层的壳 是jit wrap 模式 通过hook getJit函数 拦截 jit 请求 在每次发生jit请求时其运行库会将加密的程序集完全 原地 解密还原      特点 整体解密   脱壳 拦截地层jit请求 然后中断 这时程序集已经完全解密 直接pe dump就行了           maxtocode   这个大家应该比较熟悉了 和 remotesoft protector 应该时前后脚起步的关系吧 其 x x x和 内核有很大差别   特点 单方法体解密      maxtocode x 版本没有用过 不过DST组的菩提曾经写过 maxtocode x 的脱壳机      maxtocdoe x 其内核是EE层 单方法体 原地 解密 编译之后再擦除解密的代码      脱壳 因为是 原地 解密 所以方法体代码逃不过profile的 可以在profile里面记录每个方法体 然后填充到文件中   方法二 nop 调 其内核 的擦除代码 这个不用修改其内核文件 只要还原 mscorwks dll 中其hook的第二处地方即可 这样方法体解密后就在内存中了 所有方法invoke一面 直接pe dump即可      maxtocode x 这个版本接触得比较多 我接触的第一个maxtocode版本就是 这一版其内核相对 x变动比较大 方法体已经不是原地      解密的了 也就是说profile已经不能监视到其il代码了 这算是一个巨大的进步吧 x的内核基本上是一样的 只是后续的版本针对反射做了一些小动作      脱壳 直接反射 修复后反射   方法二 直接调用其内核的解密函数进行脱壳 简单快速      maxtocode 企业版 Jit层内核 其在 ee 层和 jit层均安装了多处 hook 其内核在前面的文章里面有详细介绍      脱壳 因其jit层内核的漏洞 可以用简单的方式还原方法体 Hook Jit 后可以简单的进行方法体还原完成单个方法的脱壳   把每个方法都脱一面 填回文件即可      Net Reactor   一款很特别的 net加密壳 它有两种模式 application 和 library   第一种模式 是程序整体加密 然后创建一个native的loader 整体加密的脱壳很简单 dump 内存即可      第二种模式 加密后的程序集也要带一个native的dll 和maxtocode一样 加了很多静态构造函数 一个startup函数   但是在 startup函数调用后 即完成了程序集的全部 原地 解密 所以运行后直接dump内存就可以了      脱壳 直接pe dump       CliProtector   一款jit层的加密壳 大概是去年年底发现的 当时我在进行DNGuard 的开发 经分析后发现其内核模式和当时DNGuard 的jit层内核很相似 分析后不久就发现了其jit层内核处理的一个漏洞 可以用简单的方式还原方法体 也就是最近在maxtocode 企业版中发现的那个 在我的DNGuard 中对这个漏洞进行了预防处理   个人感觉其模式兼容性比maxtocode 企业版要好 只是可惜 它除了有jit层漏洞 还偷了赖 IL代码没有加密 和我出的dnguard demo一样 只是把 il搬了一下位置 没有加密 不过对于jit层脱壳来说加不加密倒无所谓了 但这样可能导致破解者从另一个角度去脱壳了   特点 单方法体解密   脱壳 Jit hook 简单方法体还原 同maxtocode 企业版的脱壳方式   方法二 分析其加密文件结构 直接还原(因其il代码没有加密 可以不用考虑解密算法的研究)       themida Net   themida 是win 的一个强壳 它支持 Net的加密 其加密方式是整体加密 但是凭借其win anti的优势 相比其它整体加密的加密工具来说强度要高一点 不过也就仅仅那么一点      脱壳 过anti pe dump       xenocode native piler   xenocode 的专长是混淆保护 不过它也提供了一个所谓的生成本地代码的功能 其生成本地代码其实就是把 程序集打包 创建一个native loader 但是它的打包把framework都包进去了 也就是说打包后的程序可以在没有安装framework的机器上直接运行 代价是生成的文件体积非常大 因为它把十几兆的framework包进去了      脱壳 直接pe dump   方法二 分析其打包的文件格式直接解包(已有工具)      DNGuard 内核模式同 maxtocode x 脱壳方式也雷同      DNGuard Jit层内核 同maxtocode 企业版和CLIProtector 相比少了一个漏洞 不能用简单方式还原方法体   如果破解者对jit内核工作非常熟悉 也能从jit层的结构体中重构出方法体      脱壳 Jit hook 结构体重构模式    总结   以上除了 maxtocode x DNGuard CLiProtector 外 其它工具加密的程序都存在profile漏洞 可以通过profile获取代码      综合兼容性和强度 CLiProtector 和 maxtocode 企业版 要好一些   DNGuard 的强度好一些 兼容性比较差 就只支持 v 的framework      DNGuard新版已经开始采用兼容全部framework的模式了      上面的所有工具加密的程序集 都可以直接在jit层中截获 IL字节码 IL字节码不是方法体 它是方法体的一部分   只取得il字节码无法完成脱壳工作 但是已可反为MSIL汇编代码 进行算法分析了      DNGuard HVM的目标就是不让jit层截获可分析的IL字节码 cha138/Article/program/net/201311/11563

相关参考

知识大全 使用OracleWrap工具加密你的代码

使用OracleWrap工具加密你的代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Orac

知识大全 Oracle--使用Wrap工具加密你的SQL

Oracle--使用Wrap工具加密你的SQL  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  O

知识大全 php pki加密技术(openssl)详解

本篇文章是对php中的pki加密技术(openssl)进行了详细的分析介绍需要的朋友参考下 复制代码代码如下:<?php//pki加密//使用pki加密需要开启openssl扩展//p

知识大全 简化基于数据库的DotNet应用程序开发

简化基于数据库的DotNet应用程序开发  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  分析  

知识大全 Java加密保护

Java加密保护  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  众所周知java开发语言提供了很

知识大全 利用MySQL加密函数保护数据

利用MySQL加密函数保护数据  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  此文章主要向大家描

知识大全 如何利用MySQL加密函数保护网站敏感数据

如何利用MySQL加密函数保护网站敏感数据  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  如果您

知识大全 利用DES加密算法保护Java源代码

利用DES加密算法保护Java源代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java语言

常见技术指标——TAPI--价与量的统一

成交量是股市的元气所在。因此,量的分析很重要。而股价,又是买卖双方的妥协点,对于买卖双方的力量对比分析,价同样重要。然而,无论是移动平均线之类的价分析工具,还是OBV之类的量分析工具,不是只谈价,不谈

知识大全 广联达软件打开时提示检测不到加密锁的常见原因及解决办法

广联达软件打开时提示检测不到加密锁的常见原因及解决办法?你好,几种可能性:1、没有安装加密锁驱动。2、加密锁版本低。3、加密锁盗版或损坏或需升级。4、没有安装要打开程序相关模块。(比如没安装GBQ4.