前文:
本文就不讲wss连接部分了,私聊
最近有个更新,更新后旧版本的就链接不上wss了
花了点时间检查后更新出来了
本文主要讲的是短signature的加密,
加密组成:
signature是通过加密
f"live_id=1,aid=6383,version_code=180800,webcast_sdk_version=1.0.8,room_id={room_id},sub_room_id=,sub_channel_id=,did_rule=3,user_unique_id=,device_platform=web,device_type=,ac=,identity=audience"的md5加密而得来的
如果加密的不对就连接不上,也换不了直播间
加密位置:
做个简单的逆向就直接全扣下来浅浅补个少量的环境,这里是直接用x_bogus的环境,他们加密的逻辑很像,还原成python纯算法也都差不多(x_bogus,a_bogus)
补环境:
window=global;
window.Request=function () {return 'function Request() { [native code] }' };
window.Headers=function () {return 'function Headers() { [native code] }' };;
exports=undefined;
delete Buffer;
window.document={
referrer:'',
addEventListener:function(){return 'function addEventListener() { [native code] }'},
'cookie':''
}
window.navigator={
userAgent:'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
}
window.location= {
"ancestorOrigins": {},
"href": "https://live.douyin.com/861655388229",
"origin": "https://live.douyin.com",
"protocol": "https:",
"host": "live.douyin.com",
"hostname": "live.douyin.com",
"port": "",
"pathname": "/861655388229",
"search": "",
"hash": ""
}
setTimeout = function(){return function(){}};
setInterval = function(){};
只需要补这点环境,然后再手动修改js里的某些变量值,就两个变量就可以输出正确的结果了,说简单也简单,难也难。
v:ProfessorLuoMing