一、静态分析:

如图是函数入口和vmp的整体器部分:

可以大致看到整个的dispatcher部分如下所示:

虚拟数据表如下所示,根据这些去调用对应的Handler;

二、动态分析:

这里分析简单列出几个比较重要的handler:

case 16:对于参数赋值操作;

case 76: 得到函数头信息;

case 77: 也是重点函数,从“mov pc r1”可以看出,调用wrap,然后去调用对应的子函数;分析时通过监督这条handler可以大致判断逻辑;

j_ivmp_vm_init: 得到vmdata的地址;

ivmp_push_int32:一堆的LDR、STR的混淆操作,就是增加移动vmdata的索引地址;

ivmp_interpreter:就是一个虚拟机的执行操作,只是不同于vmprotect.对于内存上频繁的LDR、STR操作;

ivmp_get_int32减小vmdata的索引地址;

三、破解:

通过py脚本找到对应的上面虚拟表的地址以及对应的大小,动态跟踪执行然后以ARM伪码的形式输出逻辑调用过程,可以简化整个逻辑,抓住上卖弄的case 77这条Handler,可以得到大约的一个调用逻辑。

四、总结:

爱加密的so-vmp虚拟化保护方案总结如下:

1.       直观上跟顶象的企业版相似,爱加密每次是通过虚拟表得到一个vmdata然后去调用wrapper这个分支去找对应的函数,其实也跟360加固中的libjiagu.so中的JNI_Onload的运行是类似的,可以通过一定的脚本去模拟运行简化指令然后去找到之间的调用关系。

2. 当然这里可能有人会问,vmdata是动态随机化的,怎么定位?但是每个handler的语义是不会改的,作为一定的特征进行分析;可能防守者会接着对hanlder进行混淆来混淆语义,总之攻防相对才有意思。

爱加密so VMP浅析相关推荐

  1. APP安全谁之过?爱加密为APP开发者分忧

    第一部Android智能机自2008年正式发布以来,已走过5个年头,并以惊人的速度占据市场.2011年第一季度超越塞班跃居全球第一,2012年全球智能手机操作系统份额占76%,中国市场占有率为90%, ...

  2. 爱加密Android APk 原理解析

    转载请标明出处:http://blog.csdn.net/u011546655/article/details/45921025 爱加密Android APK加壳原理解析 一.什么是加壳? 加壳是在二 ...

  3. (爱加密系列教程十二) 如何防止jd-gui查看代码

    使用jd-gui查看class文件的时候,经常会发现有一些方法或类,无法正常的显示出来. 我们可以利用这个bug,来阻止jd-gui反编译我们的class文件. 首先反编译一个有源码的项目,用 jd- ...

  4. “棱镜”入侵手机App, 爱加密有效防窃听

    "棱镜门"爆发以后,全球媒体的相关报道纷至沓来,关于美国"棱镜"项目在中国涉及范围的各种传闻也层出不穷.中国有关部门经过了几个月的查证,发现针对中国的窃密行为的 ...

  5. App加密那点事浅探爱加密原理

    本文章讲述利用cocos2d-x 开发手机游戏的一些加密心得.如有问题,请多指正. 更多信息详见:http://blog.csdn.net/chengyingzhilian/article/detai ...

  6. 爱加密:终止手游之殇,全面解决手游安全问题

    以"弘扬游戏主旋律,激发娱乐正能量"为主题的第四届广州国际游戏博览会(GameShow2015)将于5月9日在广东开启.本次大会秉承大规模高规格的特色,从规模.内容.风格以及专业度 ...

  7. 解决爱加密后百度地图不能正常使用

    问题:使用爱加密对app加密后,百度地图无法正常使用 分析:加密前百度地图使用正常,说明百度key没有问题,加密后地图不能正常使用,其他功能都正常,估计是百度的key出现问题. 解决:百度地图的key ...

  8. 爱加密和梆梆的加固的破解方法

    爱加密和梆梆加固的破解方法 By Bob Pan 梆梆与爱加密都使用了将原有的dex隐藏, 在运行时解压, 并且通过修改app的类加载器的方式实现加固. 参考: AndoridAPK反逆向解决方案:梆 ...

  9. 《中国游戏产业报告》出炉,爱加密呼吁重视游戏安全

    7月29日,由中国音数协游戏工委.伽马数据.IDC共同策划撰写的2015年上半年中国游戏产业报告出炉.根据<2015年1-6月中国游戏产业报告>内容了解到,截止2015年上半年,中国游戏市 ...

  10. 使用爱加密生成带有签名的

    说明 项目开发完成后,需要对项目进行代码的加密以及生成签名这样才能进行安装. 加密的话推荐使用爱加密,比较简单. 流程如下: 百度搜索爱加密,进入官网. 如图 点击免费试用 然后注册爱加密的账号 接着 ...

最新文章

  1. 搭建LNMP环境(CentOS 6.8 + nginx1.10 + mysql5.6 + php5.6 )
  2. 【往届已EI检索-IEEE技术支持】第三届-信息技术与计算机应用 多主题征稿!
  3. mask rcnn算法分析_实例分割综述(单阶段/两阶段/实时分割算法汇总)
  4. 用位运算实现内存对齐
  5. SQL Server2005下载地址
  6. 微信小程序图片转换成文字_怎么利用微信小程序把图片上的文字转到word文本中?...
  7. AHU算法课-DP动态规划
  8. jieba分词关键字含英文和特殊字符的处理方法
  9. sqlite3基础学习
  10. USB Type-C PD快充简介
  11. 海思hi3516dv300音频调节总结
  12. 计算机毕业生该怎么做职业规划?|猿代码科技
  13. DPDK入门(环境搭建以及小demo)
  14. 易福门传感器PN3593
  15. 机床设备液压系统比例放大器|压铸设备液压系统比例阀控制器
  16. 8163 android8,联发科MT8163V/A怎么样 MT8163V/A参数介绍
  17. Real6410移植linux-2.6.39.1记录(2)-LCD驱动移植
  18. nbtscan在windows和linux下编译
  19. 这届618:看似平静,实则热火朝天
  20. 微信网页订阅消息实现

热门文章

  1. Web3对于我们普通人意味着什么?
  2. Yolov5学习笔记(1)——训练出自己的模型
  3. cygwin安装配置apt-cyg工具
  4. Jetpack Compose - CircularProgressIndicator、LinearProgressIndicator
  5. $.ajax()方法详解
  6. 全国计算机英语四六级准考证打印,周六开考!2020年11月四六级口语考试准考证打印通知!...
  7. 大学毕业4年-回顾和总结(3)-投资理财观-图穷而真相现
  8. 普林斯顿大学计算机科学排名,普林斯顿大学研究生计算机系统专业排名
  9. css加载中lodding遮罩动画
  10. 同一包(package)下,两个不同类的调用操作详解