App爬虫进阶——抓包拿不到数据怎么办

潜在原因

-模拟器不适配该app
别笑,真的有这种奇葩无语的可能,而且还不少见,换成真机或者另一个软件的模拟器试试。

  • Android版本不适配该app
    部分app的最低版本限制已经到了Android 5,针对这类app,Android 4.3或者更低版本的模拟器就会 错和闪退。

针对上述出现的问题,我非常建议使用真机,模拟器在很多情况下确实心有余而力不足。

这种一般是App自身做了防护,最常见的一种就是SSL证书验证(SSL Pinning)。比如抖音、小红书,FaceBook,Twitter等app,都有这种验证和防护。

SSL Pinning

一种用来防止中间人攻击的技术,广泛应用于阻止app的抓包和嗅探。

众所周知,Fiddler这一类抓包软件本质上就是一种中间人攻击,所以一旦遇到了SSL Pinning就凉凉了。但我们肯定不能让SSL验证阻拦我们抓包的脚步,我们可以通过如下的方法解决SSL证书验证。

1. 降低版本——降低App和Android系统的版本
很多SSL验证和其他防护都是在新版app中才有的,而且一些方案都是Android 7.0以后才开始生效,所以为了抓到包,我建议的配置环境是Andorid 5的模拟器 + 较低版本的APP。
如何获得较低版本的APP,百度豌豆荚应用商城,可以下载APP的历史版本,有的app太旧的版本是无法正常使用的,所以需要多尝试几个旧版,一般来说,只距离现在半年的app版本是可以用的。

2.禁止校验——禁止app内部的ssl 证书校验
如何禁止app内部的ssl 证书校验们可以直接Hook掉app验证SSL Pinning的方法(由于这一篇教程是提供解决方案,所以不会阐述太多原理,而会着重讲解实现的步骤和细节上)
Android平台上我们可以使用Xposed+Justtrustme,ios中也有其实现,ios可以参考这个github项目https://github.com/nabla-c0d3/ssl-kill-switch2。

Xposed是什么

Android平台最强大的框架,它可以在不修改APK的情况下影响程序的运行,Xposed是一个框架和平台,里面有许多IT工程师编写的功能模块,比如直接把APP的界面改成自己想要的样子,去掉界面里不喜欢的东西, 自动抢红包,消息防撤回,步数修改等等。

JustTrustMe

Xposed中的一个模块,可以禁止app内部的证书校验。

安装Xposed

为了体现效果,我们这次采用直采宝这个app作为例子,所有的app和资料可以在百度云中下载。

链接:https://pan.baidu.com/s/1Tc5gMYZHYb7-IJCBeHddFQ
提取码:cayq

我们这次选择Android 7.0的真机,大家也可以使用模拟器,在直采宝这个app上没有区别。但比如小红书这一类app,它自身会检测是否为模拟器,这一类app我们酒=就需要真机操作。

首先我们安装和运行直采宝,界面如下

使用Xposed+JustTruthMe禁止SSL 验证。

首先需要说明,Xposed框架需要root权限,且有让手机变砖的风险,而优点是可玩性高,功能性强大。我们在这儿采用一个更优的方案——太极Xposed框架。
太极Xposed是国内大神开发的一款免root Xpose框架,对于真机来说,真是再好不过。

首先安装太极Xposed(我的百度 盘里有这个教程所需要的全部apk和资料),然后安装。

App爬虫进阶——抓包拿不到数据怎么办

OK!!!
本篇教程已经结束了,希望大家多多关注我下半年的app逆向教程,两开花两开花。

参考文档:
https://blog.csdn.net/coder_pig/article/details/80031285
https://www.jianshu.com/p/22b56d977825
https://zhuanlan.zhihu.com/p/56397466

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树进阶任务Python问答208386 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年5月18日
下一篇 2019年5月18日

相关推荐