您的位置:网站首页 > net源码 > 正文

VMP加固技术对比第三代加固技术安全效果究竟如何?

类别:net源码 日期:2017-12-26 19:50:44 人气: 来源:

  但是由于VMP加壳技术目前无标准化,所以各厂商加固的效果也不尽相同,我们抽选了一款经过VMP加壳过加固的APP来验证加固的安全强度,对比第三代加固安全性,看一下安全效果的对比。

  三代加固:即抽取dex文件中DexCode的部分结构,即虚拟机操作码。在虚拟机加载到此类的时候对DexCode结构进行还原。从而app能正常的运行。

  总结:抽取加固一般可以防住一些基础手段的,但网上有很大一部分工具可以破解此类技术的加固,核心代码强度不够,对网上的工具稍作修改即可破解。

  VMP加壳:VMP加壳在三代基础上,抽取代码后,并没有对代码进行还原,而是通过厂商自研的“虚拟机”来进行解析opcode,然后通过JNI 接口反射执行各个方法。VMP加壳对于对代码的效果、加壳后的运用价值相对于历代加壳技术就高出不止一个台阶了,那么下一步让我们拿出各加固厂商的自称的“VMP加壳”版本进行验证:

  我们获取到*(匿名)厂商自称VMP加壳样本,通过初步分析确认该厂商VMP加壳版本有自己一套虚拟机操作码表,这个表和正常虚拟机操作码表是一一对应的关系。也就是说拿到了这个表就可以还原操作码。

  首先通过HOOK JNI部分接口查看其是否是通过JNI接口来实现VMP函数执行。效果图2-0如下

  通过一些手段可以拿到此加固的操作码表,需要一个一个操作码比较,其置换表(测试样本)如下图2-1所示,

  加固前被加固的方法如下图2-2,通过简单查看这些被”vmp”方法基本都是是一些事件方法,核心代码基本上采用的都是三代加固技术(测试样本)。

  可以知道,此加固是将原有的方法内容抽取掉并替换掉成自己的方法,然后在这个方法里通过反射调用原先的代码。还原工具部分代码如下图

  通过hook dlopen函数等待libdexjni.so库加载,一旦加载成功开始获取相关函数,其中两个导出函数,可以获取DexCode的内存、处理加密后的DexCode。如图2-3

  其中说测试样本的结构体.如下图也就是我们通过调用libdexJni.so中方法的返回值。如图2-6

  总结:用VMP加固后的APP的还原过程是比较复杂和困难的,需要用大量的时间做相关分析,分析过程中的困难主要来自于函数名的混淆,由于现在的VMP都是基于JNI接口的,在某些情况下有可能泄露逻辑,比如HOOK 虚拟机的JNI接口函数,加上日志输出,还是可以看到调用的函数。但是,由于目前VMP加壳版本没有统一标准与要求,就导致了不同厂商给出不同VMP加壳版本的方案在对安全、性能上会呈现不一样的效果。返回搜狐,查看更多

  延伸相关词:

  陈小艺被曝姐弟恋,倒追小伙被当保姆,陆贞传奇演员表,人鱼情未了 电视剧,莫小棋三级,保拉的诱惑,李慧珍老公,luciano rivarola,如意剧情介绍电视猫,电视剧当狗爱上猫

0
0
0
0
0
0
0
0
下一篇:没有资料

相关阅读

网友评论 ()条 查看

姓名: 验证码: 看不清楚,换一个

推荐文章更多

热门图文更多

最新文章更多

关于联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助

CopyRight 2002-2012 技术支持 源码吧 FXT All Rights Reserved

赞助合作: