首页 >> 知识 >> 抖音a

抖音a

抖音a_bogus,mstoken全参数爬虫逆向补环境2024-06-15最新版 接口及参数 打开网页版抖音,右键视频进入详情页。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就是返回的加密结果,但是蜜桃成人网站入口知道request中有很多加密参数,而且这个代码是jsvmp,所以蜜桃成人网站入口可以认为,这里是调用了jsvmp的指令函数,这个指令函数加密了蜜桃成人网站入口的a_bogus,但是也被其他的一些需求调用,所以说蜜桃成人网站入口要定位到加密a_bogus的时机。

蜜桃成人网站入口可以知道a_bogus的长度为172,所以蜜桃成人网站入口可以在这里打条件断点,当s.apply(b,u).length === 172时断住。然后进行观察。

断住之后,蜜桃成人网站入口发现结果大概率是蜜桃成人网站入口要的a_bogus,后面蜜桃成人网站入口会验证一下,参数为uri以及UserAgent。那么蜜桃成人网站入口之后调用的时候,可以直接调用这个函数,把相应的参数传进去就可以得到蜜桃成人网站入口想要的结果。由于这个s.apply可能调用的函数有很多种,蜜桃成人网站入口不知道它调用的具体函数是哪个,因此,蜜桃成人网站入口需要找到函数调用入口也就是函数导出。至此蜜桃成人网站入口先验证一下结果。

补环境

首先蜜桃成人网站入口把整个bdms.js拿下来,本地运行,进行补环境。

然后运行后发现window is not defined,蜜桃成人网站入口定义一个window=global补个window环境再试试看。

蜜桃成人网站入口发现这里莫名其妙报了个错,由于代码混淆加上各种循环,很难找到这个变量是什么,所以蜜桃成人网站入口猜测,大概率是获取某些环境没有获取到,所以蜜桃成人网站入口加代理看看他获取了什么没获取到导致的。蜜桃成人网站入口添加下列代理来看看检测了哪些环境。

function get_enviroment(proxy_array) { for (var i = 0; i
网站地图