吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6263|回复: 72
收起左侧

[Web逆向] 某音长ab补环境分析

  [复制链接]
li083m 发表于 2024-4-26 12:46

前言

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

目标网站

aHR0cHM6Ly93d3cuZG91eWluLmNvbS91c2VyL01TNHdMakFCQUFBQUNWNUVtMTEwU2l1c0Vsd0tsSXBVZC1NUlNpOHJCWXlnME5mcFBycVpteWtIWTh3TFBROE80cHYzd1BMNkEtb3o=

流程分析

我们先观察下这个ab的大体详细啊

image-20240426110942563

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

直接断点进栈。

image-20240426111141520

然后再这个地方打上条件断点  然后f5刷新网页

s.apply(b, u).length==168

image-20240426111228557

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

image-20240426111604410

接下来复制整个vmp代码 到浏览器片段中。

现在难点就是我们如何去寻找bdms怎么初始化加载并调用的函数生成ab的

可以确定的是这个索引是 _v的第3个

image-20240426112500425

我们上文提到两个值 1582,6 现在我们用这两个去当作索引寻找调用函数,

一个一个去找。 找_v 与 _u  只调用一次的地方。

(如果这里嫌麻烦可以全部点开然后搜搜1582就可以快速定位,虽然繁琐,但总比算法还原简单的多)

索引位置如下

window.bdms.init._v[2].p[42]

image-20240426112823754

接下来根据网页上的参数模拟调用

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]);

在片段中运行一下 发现正常出结果,接下来就复制到编辑器中去补环境调用了。

image-20240426113150359

补环境

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

image-20240426114519321

window.requestAnimationFrame = function () {}

image-20240426114613530

window.XMLHttpRequest = function () { }

接下来挂上proxy代{过}{滤}理,缺了什么慢慢补

image-20240426114958055

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

image-20240426114808263

验证

image-20240426120251397

闲言碎语

现在能看的付费文章越来越少了,包括当时在研究ab的时候,所以特此分享这篇文章,如有疑问可以和我联系,如果侵权,联系删除。文章只做技术交流。

参考链接

某音 a_bogus参数分析 (qq.com)

某音长ab补环境具体分析 (qq.com)

免费评分

参与人数 18威望 +2 吾爱币 +119 热心值 +18 收起 理由
alee_o_o + 1 + 1 我很赞同!
lxb3333111 + 1 + 1 我很赞同!
fengbolee + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Voccoo + 1 + 1 我很赞同!
kdqiu + 1 + 1 谢谢@Thanks!
alanhays + 2 + 1 我很赞同!
nws0507 + 1 + 1 谢谢@Thanks!
qiaoyong + 1 + 1 热心回复!
eijop252023 + 1 + 1 我很赞同!
JackLSQ + 1 + 1 用心讨论,共获提升!
a3101517 + 1 + 1 谢谢@Thanks!
nongda03 + 1 + 1 感谢分享
gouzi123 + 1 + 1 谢谢@Thanks!
stone102 + 2 + 1 我很赞同!
Yangzaipython + 1 用心讨论,共获提升!
小朋友呢 + 2 + 1 用心讨论,共获提升!
涛之雨 + 2 + 100 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
shadmmd + 1 用心讨论,共获提升!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

alanhays 发表于 2024-5-6 15:07
感谢大佬分享,有一说一直接使用补环境框架是真爽啊,已经不想再学习了
JackLSQ 发表于 2024-5-3 00:59
佬有个问题想请教一下,我把dy对应的源代码拷贝下来之后在pycharm中的js文件中会报 unexpected token 在                parseQuery: function (e) {
                    if (e)
                        for (var r, t, n = $(e, "&"), a = 0; a < n.length;)
                            (r = n[a++]).length && (t = $(r, "="),
                                Y(this.entries, {
                                    key: fe(X(t)),
                                    value: fe(Z(t, "="))
                                }))
                }, 这个函数的第一"="处 定位到错误

py调用代码
[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 发表于 2024-4-26 16:44
 楼主| li083m 发表于 2024-4-26 18:04
AlenChan 发表于 2024-4-26 16:44
x_bogus还能打  不知道什么时候就全换a_bogus

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

谢谢你星球给的纯算
pcsky37927 发表于 2024-4-26 23:12
赞一个,大佬牛批
hmf505 发表于 2024-4-27 15:03
感谢分享……
PJ997272250 发表于 2024-4-28 09:06

赞一个,大佬牛批
zhuchkkll 发表于 2024-4-28 10:50
大佬666 , 一看就懂,一下就搞出来,
Lorax 发表于 2024-4-28 11:22
好帖,帮顶
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-21 19:13

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表