抖音app爬取接口请求,图文教程,心得分享

2,498 阅读5分钟

更新时间:2023年07月26日

距离上次发文已经过去一段时间了,这次带来抖音接口爬取的方法,对于普通的app爬取接口很简单,但是对抖音这种超级app很难,如果大家伙只是想爬数据的话建议大家不要用app端,用网页端,小程序端等等,废话不多说,下面带来app爬取接口请求教程,先上最终成果图,一路绿灯:

无标题16.png

前言:

不需要你懂很多,一步步跟着图文来,都是我踩过的坑了。
实现原理:通过修改so文件的方法绕过抖音的SSL Pinning机制
抖音app要划分版本:
1、13.5版本以下,可以直接爬取,可以看我前文:android刷机root + 爬取app接口数据,心得分享 - 掘金 (juejin.cn)
2、大致20.0版本前后,so文件发生变化,本次爬取的版本为19.8.0,后面的版本爬取,本人暂时没办法。
3、最好看完我前文教程再进行后续的操作,需要的工具都要先准备。

工具准备:

所有的应用我都会放云盘上,不过我还是建议各位下载最新官网的。
1、一台root过的android手机、模拟器也行(推荐雷电模拟器)。
2、监听接口请求的工具(二选一):
先进HTTP生产力工具 | Reqable(推荐)
Fiddler | Web Debugging Proxy and Troubleshooting Solutions (telerik.com)
3、ida pro工具,用于查看so文件: IDA Free (hex-rays.com),官网收费,要pro,ida支持类型太少,不行,这里贴上[云盘链接(pan.baidu.com/s/1BuL8vtIy… 提取码:1005)。
4、010 Editor工具,用于编写二进制代码:010 Editor - Pro Text/Hex Editor | Edit 220+ Formats | Fast & Powerful | Reverse Engineering (sweetscape.com)(免费30天)
5、反编译工具:apktool Releases · iBotPeaches/Apktool (github.com)
6、还有java环境配置,这里就不啰嗦了,可以自行百度

一、反编译App

1、下载要反编译的抖音App,这里用的dy19.8.0.apk,放置到和你下载的apktool.jar同一目录下,我这里的名称为apktool_2.7.0.jar。
无标题.png

2、使用cmd命令,在终端中打开该目录:
输入反编译命令(注意换成自己的文件名):java -jar apktool_2.7.0.jar d dy19.8.0.apk -o dy19.8.0,回车执行行命令,等待几分钟后,生成了19.8.0文件夹。
无标题3.png

二、修改so文件

1、打开ida pro工具,new -> 打开下面目录,dy19.8.0\lib\armeabi-v7a,找到libsscronet.so文件打开,一路ok打开。

无标题4.png

2、打开后,不要着急操作,等待so文件加载,看左下角文件加载停止。

无标题5.png

3、点击左侧,ctrl+f搜索关键字 SSL_CTX_set_custom_verify,然后双击打开

无标题6.png

4、在空白处右键,选择Text View,查看代码界面,然后双击点击sub_1CD6BC,这里名称可能会有所不同。

无标题7.png

5、进入到这一步,很多人都懵逼了,这些是什么东西,不用慌不用管,这时我们按f5,可以查看到虚函数代码。

无标题8.png

6、进入到虚函数,我们可以看到一个方法SSL_CTX_set_custom_verify,这个方法就是验证SSL Pinning机制的,我们要先双击打开参数sub_1CD118,接下来我们要修改里面的东西。

无标题9.png

7、这个方法里面return 0才能跳过SSL Pinning机制的验证,那我们开始,这里面有两个return语句。

无标题10.png

8、这里是关键步骤,我们先处理第一个,光标先定位到1前面,然后选择Edit->Patch program->Change byte,可以看到这里的十六进制地址,把前面的01修改成00,然后回到界面,点击一下,发现变成return 0了。

无标题11.png

无标题14.png

9、到这里先不要高兴,在ida里面修改并不能保存,网上说的选择Edit->Patch program->Apply patches to保存并没什么卵用。这里要用到前面提到的工具010 Editor。
通过010 Editor打开so文件,然后ctrl+f搜索地址,根据上面实际拿到的地址来搜索,要注意不能全部地址一起搜索,因为这里有换行,所以我们搜索一部分 ,这里我是搜索41 FC DD E9 08 01,可以通过点击上下箭头确保搜索到的是唯一的。
然后我们进行修改,往前推断地址,01 20 76 E0 02 96...,光标定位01,然后输入0,我们就修改01为00,然后ctrl+s保存。so文件就修改成功了。

无标题12.png

无标题13.png

10、回到ida,查看第二个return,双击sub_1CD350(v3)进入方法里面,在方法里我们可以通过alt+t搜索return使用的地方,这里我们修改return 2和return 1的地方,把这俩个改成return 0就完成我们so的编写,修改步骤和上面一样,我就不赘述了。

无标题15.png

三、把so文件覆盖放入抖音app中

1、拿出我们root过的手机,下载这个版本的抖音app,然后开代理,下证书,这些步骤可以查看我写的前文:android刷机root + 爬取app接口数据,心得分享 - 掘金 (juejin.cn)
2、使用cmd命令,在当前so文件目录使用终端打开
adb root(没有root要先开启)
adb disable-verity(如果还是无法adb push再禁用系统验证)
adb push libsscronet.so /data/data/com.ss.android.ugc.aweme/lib/libsscronet.so

无标题17.png

无标题18.png

结尾:

到这里就结束,这里也推荐下其他人写的,虽然他们教程没那么详细,但还是值得一看。 blog.csdn.net/m0_37802824…
blog.csdn.net/chl19162369…
最后给上修改后的so文件,其他人不是收费就是没有,我这里就直接网盘分享了,希望各位多多支持点赞。
阿里云盘上传不了压缩文件,这里就用百度了╮(╯▽╰)╭
链接:pan.baidu.com/s/1BuL8vtIy… 提取码:1005