抖音a_bogus,mstoken全参数爬虫逆向补环境2024-06-15最新版
源码获取
已放在github上,抖音部分已全面更新为a_bogus算法。
除了抖音还包括快手,小红书,哔哩哔哩,微博,京东,淘宝等平台,旨在帮助大家学习使用。
链接: https://github.com/ShilongLee/Crawler
接口及参数
- 打开网页版抖音,右键视频进入详情页。
- F12打开控制台筛选detail,然后刷新网页,找到请求。
- 可以发现我们本次的参数目标a_bogus。a_bogus有时长度为168有时为172,都可用。
- msToken在cookie中可以获得msToken,过期时间为7天。
- screen_width、screen_height对应cookie中的dy_swidth、dy_sheight。
- cpu_core_num、device_memory对应cookie中的device_web_cpu_core、device_web_memory_size。
- verifyFp、fp对应cookie中的s_v_web_id。
- webid可以从doc中获得user_unique_id。
找到加密代码
-
找到入口
首先看一下接口的加载器,也就是发送请求的调用栈,挨个查看之后不难发现,加密的入口应该在这两处,由于栈中的调用顺序是从下往上,所以我们先看下面那个入口。
-
查看参数
首先我们查看入口参数,不难发现arguments[1]是请求的url,那么我们可以根据url包含detail去打一个断点,然后一步一步进行调试,看看发生了什么。
-
断点调试
单步步入之后,开始了加密参数的流程,我们发现这里的代码明显是混淆过的,上下翻动后,我们发现这是jsvmp文件。单步跳出后,直接到了请求流程,说明在这里面已经完成了a_bogus的加密,所以我们可以断定,加密参数是在调用栈中另一个地方调用的。所以我们再查看一下调用栈中的另一个入口。
可以看到,加密最后运行的函数是s.apply(b,u)并且赋值给了l,那么我们可以大胆猜测一下,这个l就是返回的加密结果&