现在对app数据的抓取越来越急迫了,需要对app访问数据接口进行抓取。采用夜神模拟器+Fiddler的方式可以方便的对app访问接口进行抓取。有接口地址之后,还需要分析分析风控策略,比如签名规则,是否需要cookie等,任重而道远。
推荐使用windows操作系统,因为夜神模拟器对windows系统支持的更好,对mac也有支持但是不如windows好,支持情况详细看下图。
1 安装夜神模拟器
从官网(https://www.yeshen.com/)下载windows版本直接下载安装就好了。安装完成后界面如下图。
默认启动时是平板版,可以从设置里面设置为手机版,设置后需重启模拟器。
2 安装Fiddler
从官网(https://www.telerik.com/fiddler)下载安装,即可。安装之后设置代理端口为8866,端口可设置为任意未被暂用的端口,后面会用到。
3 使用Fiddler抓取app调用的地址
打开夜神模拟器->设置->WLAN->WiredSSID,点击选择“修改网络”,点击“高级设置”,设置代理为“手动”。
正常情况下大部分app访问接口情况就可以从Fiddler里面看到了。
4 可能遇到的问题
连接代理之后可能有些APP无法连接网络了,也可能会报一个错误,提示证书验证失败。这个提示从windows下看到过,mac没有看到提示,可以查询Fiddler日志。这个日志在Fiddler安装目录下的Logs文件夹netcore.log文件里面。
[Information] [Fiddler] !SecureClientPipeDirect failed: System.Security.Authentication.AuthenticationException Authentication failed, see inner exception. < 处理证书时,出现了一个未知错误。for pipe (CN=woodpecker.uc.cn, O=DO_NOT_TRUST_BC, OU=Created by http://www.fiddler2.com).
提示证书不可信。
解决办法:
安装Xposed框架,安装之前先确认一下夜神模拟器的安卓版本。Xposed支持到安卓5.0,新版夜神模拟器创建安卓系统为Android 7 ,可以在夜神多开器中添加Android 5版的模拟器。
在安卓5中可以安装Xposed框架。
安卓Xposed之后需要重启模拟器。然后在模块里面安装JustTrustMe插件。
方框里面打上勾,然后重启模拟器。
然后就可以愉快的抓包了。