更新时间:2023年07月16日
第一次写文章,还望各位多多担待。不啰嗦,开始我们的心得分享,
先上最终成果图,这里是爬取到酷狗app11.6.8版本的接口信息。
一、设备准备
Window电脑一台,还有一台不用android手机,我的测试手机为:小米6x,这里也建议各位使用小米、红米的手机刷机root。或者使用模拟器也是可以的,这里建议雷电9模拟器。
二、root设备
模拟器的话就不需要这步操作了,因为可以直接开启root,真机需要先解锁设备,首先开启开发者选项,然后进入开发者选项,开启USB调试。有部分设备还需要切换USB配置,等待弹窗,允许USB调试。同时可以查看设备解锁状态,未解锁需要先解锁,下载小米解锁工具。
1、小米解锁工具:www.miui.com/unlock/down…
,这里按照小米官方提供的操作说明操作就行。这里需要注意的几个点:
① 下载驱动,官方有提供。
② usb口要2.0的,这里我踩坑了很久,电脑一直检测不到Bootloader状态的设备,最后是换了一台旧电脑才成功连上的。
③ 解锁之后手机数据是会全部清空的,如有重要文件注意做好备份。
2、解锁成功之后开始刷机,这里采用线刷包的方式,下载对应手机的开发版线刷包,这里推荐一个ROM网址:
小米所有机型的 MIUI 官方 ROM 下载专区 | XiaomiROM.com,注意这里要下载开发版的,后续还能开启root。
3、下载小米助手:小米手机助手 (xiaomi.com),这里吐槽一下,这个工具有小问题,关闭的时候会卡住,但不影响使用。这里同样按照官方教程,usb连接,选择对应的线刷包开始刷机。
4、等待刷机成功后,这里刷机后设备解锁状态自动变成未解锁了,所以我们还得重新再来解锁一遍,按照步骤1的解锁再来一遍。解锁成功后,设置界面 -> 搜索root进入授权管理 -> ROOT权限管理 -> 开启root,自动重启。
三、爬取数据。
1、下载监听请求工具:这里推荐两个:
Fiddler | Web Debugging Proxy and Troubleshooting Solutions (telerik.com),这里要下载Fiddler Classic,这个是免费的。
reqable.com/ 这个目前也是免费的,我就是用的这个,使用起来比较方便。
2、连接到同一局域网下,查看电脑的ip地址。
然后到app,连接相同的wift,选择手动设置代理,设置主机名和端口,这里我使用的reqable工具,默认端口为9000,fiddler默认端口为8888,在工具中都可以查看和修改。
设置完之后打开任意app,就可以看到http请求了,但这时你会发现,还有很多请求不是加锁就是灰色的。所以我们还要更进一步设置证书。
3、设置证书,请求到https请求。
reqable工具有教程,可以直接按照教程来,但有几个注意点:
① 一定要把证书放系统目录下,不然请求不到,实测放到普通目录无法请求到https请求,这就是提前root的目的。
② 如果提示push没有权限,需要设置adb权限,按下面步骤设置:
进入cmd
adb devices # 测试adb是否安装成功,成功了会出现设备的hash值
adb root
adb disable-verity # 禁用系统验证
adb reboot #手机会重启,不必担心,cmd或shell窗口不需要重新打开
adb root adb remount
最后进入证书相应的目录,adb push reqable-ca.crt /system/etc/security/cacerts/364618e0.0,执行这段命令就不需要按教程的重命名了。
使用Fiddler设置证书也是类似的步骤,这里要注意,不要勾选Decrypt https traffic,网上很多教程都说要勾选,勾选后就无法请求https,app加解密请求会报错请求不到。
最后总结下过程:
1、解锁 -> 刷机 -> root -> 设置ip -> 设置证书,证书必须放系统目录
教程到这里就结束了,设置完证书后,大部分的app都能请求到https,可以开始愉快的爬取数据了。但是有些app还是不行,像新版的抖音,13.5及以上的版本都无法请求到。网上说的使用工具Drony,ProxyDroid,刷Magisk面具等等方法都试了一遍,都无法请求到新版抖音的数据。接下我打算了解学习下hook方法,如有大佬有方法希望能分享分享。
最后贴上我用过的工具:
www.aliyundrive.com/s/9NF9TXWJr…