某音长ab补环境分析

查看 232|回复 11
作者:li083m   
前言
某音更新了长ab参数,以前的xb现在已彻底不复存在,再次分享一下abougs补环境的大概流程吧。这里就简单纪录一下。(补环境算是解决速度最快的方法了。纯算真的搞得太累了。)
目标网站

aHR0cHM6Ly93d3cuZG91eWluLmNvbS91c2VyL01TNHdMakFCQUFBQUNWNUVtMTEwU2l1c0Vsd0tsSXBVZC1NUlNpOHJCWXlnME5mcFBycVpteWtIWTh3TFBROE80cHYzd1BMNkEtb3o=

流程分析
我们先观察下这个ab的大体详细啊

发现恒定长是168啊(但具体还是看个人电脑,我朋友有的是172长度,不过问题都不大)。
直接断点进栈。

然后再这个地方打上条件断点  然后f5刷新网页
s.apply(b, u).length==168

进栈。看看ab能否正常输出。顺便记住这个两个关键的数值  1582,6

接下来复制整个vmp代码 到浏览器片段中。
现在难点就是我们如何去寻找bdms怎么初始化加载并调用的函数生成ab的
可以确定的是这个索引是 _v的第3个

我们上文提到两个值 1582,6 现在我们用这两个去当作索引寻找调用函数,
一个一个去找。 找_v 与 _u  只调用一次的地方。
(如果这里嫌麻烦可以全部点开然后搜搜1582就可以快速定位,虽然繁琐,但总比算法还原简单的多)
索引位置如下
window.bdms.init._v[2].p[42]

接下来根据网页上的参数模拟调用
let params = "device_platform=webapp&aid=6383&channel=channel_pc_web&pc_client_type=1&version_code=170400&version_name=17.4.0&cookie_enabled=true&screen_width=1280&screen_height=720&browser_language=zh-CN&browser_platform=Win32&browser_name=Edge&browser_version=124.0.0.0&browser_online=true&engine_name=Blink&engine_version=124.0.0.0&os_name=Windows&os_version=10&cpu_core_num=16&device_memory=8&platform=PC&downlink=10&effective_type=4g&round_trip_time=200&webid=7327255299207153161&msToken=eLFy8IXfaPXl0RX17EDYOFE83xe2jTNnxXgWSxFGIoTVREepKXoJDUx4HFdS2sN4YADw3NyjbroN9vaGCdZ0tGCGrrIM33B6As6ocN4mrYbZBkVUptoGOAUPk6T_iS8%3D&msToken=eLFy8IXfaPXl0RX17EDYOFE83xe2jTNnxXgWSxFGIoTVREepKXoJDUx4HFdS2sN4YADw3NyjbroN9vaGCdZ0tGCGrrIM33B6As6ocN4mrYbZBkVUptoGOAUPk6T_iS8%3D"
let data = "" //post请求会用到
let ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0"
let ab = window.bdms.init._v[2].p[42].apply(null, [0, 1, 8, params, data, ua]);
在片段中运行一下 发现正常出结果,接下来就复制到编辑器中去补环境调用了。

补环境
补完window 立马会出一个Cannot read properties of undefined (reading '_u')

window.requestAnimationFrame = function () {}

window.XMLHttpRequest = function () { }
接下来挂上proxy代{过}{滤}理,缺了什么慢慢补

​ 总的来说就是老生常谈的navigator,document和location,一些关键的点localStorage的xmst 和navigator的ink 和多了一些screen的屏幕检测,总体还是很简单的,最终也是补出了结果。

验证

闲言碎语
现在能看的付费文章越来越少了,包括当时在研究ab的时候,所以特此分享这篇文章,如有疑问可以和我联系,如果侵权,联系删除。文章只做技术交流。
参考链接
某音 a_bogus参数分析 (qq.com)
某音长ab补环境具体分析 (qq.com)

环境, 音长

alanhays   

感谢大佬分享,有一说一直接使用补环境框架是真爽啊,已经不想再学习了
[i]
JackLSQ   

佬有个问题想请教一下,我把dy对应的源代码拷贝下来之后在pycharm中的js文件中会报 unexpected token 在                parseQuery: function (e) {
                    if (e)
                        for (var r, t, n = $(e, "&"), a = 0; a [Python] 纯文本查看 复制代码import execjs
jsCode = ""
with open("dyEnv.js", 'r', encoding='utf-8') as fp:
    jsCode = fp.read()
params = "device_platform=webapp&aid=6383&channel=channel_pc_web&pc_client_type=1&version_code=170400&version_name=17.4.0&cookie_enabled=true&screen_width=1280&screen_height=720&browser_language=zh-CN&browser_platform=Win32&browser_name=Edge&browser_version=124.0.0.0&browser_online=true&engine_name=Blink&engine_version=124.0.0.0&os_name=Windows&os_version=10&cpu_core_num=16&device_memory=8&platform=PC&downlink=10&effective_type=4g&round_trip_time=200&webid=7327255299207153161&msToken=eLFy8IXfaPXl0RX17EDYOFE83xe2jTNnxXgWSxFGIoTVREepKXoJDUx4HFdS2sN4YADw3NyjbroN9vaGCdZ0tGCGrrIM33B6As6ocN4mrYbZBkVUptoGOAUPk6T_iS8%3D&msToken=eLFy8IXfaPXl0RX17EDYOFE83xe2jTNnxXgWSxFGIoTVREepKXoJDUx4HFdS2sN4YADw3NyjbroN9vaGCdZ0tGCGrrIM33B6As6ocN4mrYbZBkVUptoGOAUPk6T_iS8%3D"
userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"
res = execjs.compile(jsCode).call('get_abougs',params,'cus',userAgent)
print(res)
python 运行报错信息
UnicodeEncodeError: 'gbk' codec can't encode character '\xa9' in position 69238: illegal multibyte
sequence
在网上找了很久也没找到合适的解决办法
AlenChan   

x_bogus还能打  不知道什么时候就全换a_bogus
li083m
OP
  


AlenChan 发表于 2024-4-26 16:44
x_bogus还能打  不知道什么时候就全换a_bogus

目前dy主页都是ab了
hybpjx   

xb 有些接口还能用。以后都要换ab了。评论接口是超长ab。很强啊 洋!
li083m
OP
  


hybpjx 发表于 2024-4-26 18:06
xb 有些接口还能用。以后都要换ab了。评论接口是超长ab。很强啊 洋!

谢谢你星球给的纯算
pcsky37927   

赞一个,大佬牛批
hmf505   

感谢分享……
PJ997272250   

赞一个,大佬牛批
您需要登录后才可以回帖 登录 | 立即注册

返回顶部