写在最前,本来是想把360加固全部脱壳后,写一篇教程。不过在我过了360加固调试后,最后卡在了native void onCreate函数的提取。最后就无结果了。但又发现许多人卡在了360加固的反调试,为了帮助其他人能成功(其实我没有这么伟大,只是发现写这篇文章对我没有害处,就决定放出来),而且希望,如果有人把native void onCreate函数dump下来的话,请觅我,我真的很想知道360加固的原理与逆向方法(这才是重点)。哦,对了,360加固版本是1.3,如果用的Android的 art 模式,在网上有一篇文章是修改系统的,可直接dump出源码,不过我没有亲测,而我用的是dalvik模式,主要是为了弄清360加固的加固原理与反调试原理。

我的360加固1.3样本下载地址: http://pan.baidu.com/s/1pKSP22n

好了,让我们开始吧。

一、使用系统上,我用android4.4编译了一个自己的android系统,并且运行在虚拟机上运行,(由此不用把APK改为什么Debug模式了,因为我用的系统就是Debug模式)修改的地方是在Native.cpp 文件中的dvmLoadNativeCode函数中 version =(*func)(gDvmJni.jniVm, NULL); 之前加入sleep(20); 之后IDA会自动断点在sleep之后,是不是很神奇?

二、启动虚拟机,并使用编译好的android 系统包(具体怎么编译,是另外的一篇教程了,可以网上搜索到,很多的。),不过也可以直接是用jdb作为桥接。

写在第三步之前,其实这里面还有一个可有可无的东西,需要把apk用apktool可解压,但是直接用现有的apktool解压会失败,解决方法是直接去获取apktool的源码,并且修改一个地方就OK了,至于修改哪里,有兴趣的朋友可以自己查找。应该都能过的。

三、虚拟机启动后,打开一个cmd,在其中输入adb forward tcp:23946 tcp:23946

再打开一个cmd,在之中运行adb shell, 然后在运行/data/local/tmp/android_server(是用IDA里面的android_server,放入到虚拟机的,并且修改了权限,网上有很多教程,可搜索)

然后在虚拟机中运行Test360_2(也就是我制作的一个360加固的hello_world样本,已经签名好了的)

四、然后就开始用IDA attach Test360_2进程了。关键性的东西来了。

一开始,IDA会自动断点在这里

经过4,5步F7后,来到libdvm.so

红色圆圈是我在系统源码中打的调试信息,然后在BLX R10处F7,也就是进入函数jni_onload()然后来到并在红色进入F7

来到,红色出 F7

来到,并在红色处 F7

进入上面第一个红色后,鼠标滚轮往下找到switch 函数,并在case 25下断点,如下图

然后F9(好像是按了2次F9,呵呵),反正是来到case 25,然后在 case  14 下断点如图

F7进入

多次单步F7后,来到

把R3寄存器的6000010改为A000010 (这里的反调试检测,可能是检测rtld_db_dlactivity 函数,不过不太确定,因为没有看见源代码)

然后单步,把case 14与case 25的断点给取消掉,并在case 29下断点,并且进入,当BLX  LR调用 strtol 的时候,需要单步出来修改一些值,来到MOV R7,R0的时候

修改R0的之后0,

并且把 R1的hex处改为0,如下图中的红色出,需要修改为0

这里以上是检测 TracePID

然后继续F9,在多次 case 29 多次下断点后,来到

在CMP处,把R0的值修改为0(这里是检测调试端口),然后F9

还是来到

在MOV R7,R0处下端点,并修改R0与R2的值,

修改为堆栈中的值(可能你的这个值不一样,因为这个值是之前调试的时候的一个时间。这里是时间检测)

然后就没有反调试的代码了,多次F9后,就来到了

来到了全新的世界。可是我最后没有dump出native void onCreate,遗憾。

原文地址: http://blog.csdn.net/chen249191508/article/details/52779264

360加固逆向脱壳之过反调试相关推荐

  1. 360加固一键脱壳工具2020_如何脱壳加固过的Apk并利用其API“走近数据库”

    0x00 寻找突破口 打开首页,emm 就一个登录页面,没了 随便写点东西提交看看 天生手欠的我一不小心就多输了一个单引号 WDNMD,除了数字和字母其他都不行? 这叫我怎么测? 刚刚要放弃,就在这时 ...

  2. Android APK脱壳--腾讯乐固、360加固一键脱壳 亲测可用

    日期:2019年8月28日 设备:win木木模拟器2.2.16 脱壳教程:https://www.jianshu.com/p/138c9de2c987 adb连接木木模拟器教程:https://www ...

  3. 360加固保的dex脱壳方法

    博客地址:http://blog.csdn.net/qq1084283172/article/details/53149214 360整体加固classes.dex后的apk程序的特点,以超信1.1. ...

  4. Android逆向与安全——360 dex加固与脱壳

    前言 现在市面上对APP的安全合规管控越来越严格了,也就要求了APP在上架之前一定要做合规检测和加固处理.对APP就是加固的好处,可以提高APP的安全性,提高APP被逆向分析破解的门槛,同时通过加固保 ...

  5. 分享一个360加固脱壳模拟器

    前段时间由于工作需要,需要对一个360加固后的APK进行脱壳,网上查了一些相关资料,发现一篇看雪论坛里前辈写的帖子<360加固成功脱壳>. 结合自己对ART机制的了解,dex文件在ART上 ...

  6. android的反调试方法,Android平台融合多特征的APP反调试方法与流程

    本发明涉及Android平台融合多特征的APP反调试方法,属于计算机与信息科学技术领域. 背景技术: 应用程序本身并不具备反调试的功能,但是动态调试是动态分析应用逻辑.动态脱壳等攻击方式所采取的必要手 ...

  7. [Android 分享] 使用xposed来hook使用360加固的应用

    0x00 原理 使用360加固之后的应用的classloader会被换成360的,所以只需要在hook的时候把classloader换成360的就可以了. 0x01 反编译 被360加固的应用是可以反 ...

  8. 【安卓逆向】360加固-脱壳修复

    最近花了一些时间学习逆向脱壳,这方面一直投入的时间比较少.样本经过某加固宝进行加固,这里简单记录一下脱壳过程和思路,感谢某数字公司对安全加固的无私贡献,让我有机会小小的提高一下这方面的技能. *安卓逆 ...

  9. python 工程结构加固_【安卓逆向】360加固-脱壳修复

    360加固-脱壳修复 最近花了一些时间学习逆向脱壳,这方面一直投入的时间比较少.样本经过某加固宝进行加固,这里简单记录一下脱壳过程和思路,感谢某数字公司对安全加固的无私贡献,让我有机会小小的提高一下这 ...

最新文章

  1. 【11平台天梯】【原理分析】11平台天梯原理分析
  2. memcached简介(转)
  3. 使用nmap扫描提示utf-8编码错误_Web漏洞扫描神器Nikto使用指南
  4. AgileEAS.NET SOA 中间件平台.Net Socket通信框架-简单例子-实现简单的服务端客户端消息应答...
  5. TLS总结(上)——我们为啥需要TLS
  6. 计算机原理考研题库,东北大学计算机组成原理题库(9)
  7. UML大作业【小型超市管理系统】
  8. 游程编码详解(C语言)
  9. 087 定积分求面积应用习题
  10. 交叉熵、KL散度、Jeffery分歧、JS散度
  11. 沙加在沙罗双树下临死前的一段对白
  12. 感谢ZhangYu dalao回关
  13. 王道数据结构P40第一题,为什么直接去掉结点不会造成断链?
  14. 第一个完整页面来啦~小米官网
  15. 提高订单成交率的九大技巧,你还不知道吗?
  16. XGBoost的目标函数推导和分裂增益计算
  17. 魂断“中国百慕大”?GIS斩祸根!
  18. 物联网通信协议(接入协议)
  19. 在小程序里如何让用户快速选择到所在的小区
  20. Acala 团队入选 UC Berkeley 2020 春季孵化加速器

热门文章

  1. 高性能jdbc封装工具 Apache Commons DbUtils 1.6(转载)
  2. Sharepoint 2007 用代码聚合所有子网站文章 (populating data sources in code)
  3. 事件相关去同步 (ERD) 和事件相关同步化 (ERS)在脑电信号研究中的应用
  4. 平稳随机序列的自相关函数和功率谱密度
  5. Go 语言web 框架 Gin 练习 7
  6. 编程方法学21:监听器和迭代器回顾
  7. Python进阶_wxpy学习:聊天对象
  8. 众核多计算模式系统的构建 - 全文
  9. 原:开辟内存时,可以以结构体为单位,这样测试,是对的吧?
  10. [云炬创业管理笔记]第四章把握创业机会测试2