理论永远不会失效的抖音直播间消息获取工具[狗头]需要的朋友 dd - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
huyiwei
V2EX    分享创造

理论永远不会失效的抖音直播间消息获取工具[狗头]需要的朋友 dd

  •  1  
  •   huyiwei 2024-03-19 16:21:08 +08:00 2622 次点击
    这是一个创建于 573 天前的主题,其中的信息可能已经有所发展或是发生改变。

    原理就是 hook web 网页 js 哈哈哈

    第 1 条附言    2024-03-20 10:01:55 +08:00

    核心代码就两处

    main.js

    拦截关于websocket的js文件把请求转给本地代理服务器

    // 拦截请求 this.webContents.session.webRequest.onBeforeRequest((details, callback) => { // 在这里进行请求处理,例如修改请求 URL、添加请求头等 if ( /^https:\/\/.+?webcast\/douyin_live\/\d+.+\.js$/.test(details.url) ) { callback({ redirectURL: `http://localhost:${replaceWsPort}/${details.url}` }); return } // 继续请求 callback({ cancel: false }); }); 

    replaceWs.js

    本地代理服务拿到js文件,对js文件修改加hook

    // http拿到js文件内容 return fetch(url).then(res => res.text()).then(text => { // 是否有ws字样 if (!text.includes('new WebSocket')) return text // 开始替换数据 // 替换onError text = text.replaceAll(/(\{.+?\("socket error",(.+?)\),)/g, '$1typeof window.emitClose == \'function\' && window.emitClose(\'error\',$2),') // 替换onClose text = text.replace(/(\{.+?\("socket closed",(.+?)\),)/, '$1typeof window.emitClose == \'function\' && window.emitClose(\'close\',$2),') // 替换onOpen td("socket established"), text = text.replace(/(\{.+?\("socket established"\),)/, '$1typeof window.emitOpen == \'function\' && window.emitOpen(),') // 替换onMessage ;eu || tM("no payload can be decoded, maybe cannot find idl", eo); text = text.replace(/;([a-zA-Z]+)?\|\|.+?\("no payload can be decoded, maybe cannot find idl",[a-zA-Z]+\);/, ';if(typeof window.emitMessage == \'function\'){window.emitMessage($1);}return {method:\'\'};') // 替换stop函数 // text = text.replace(/\{[a-zA-Z]+?\("socket terminating"\),/, '{return;') text = text.replaceAll(/stop\(\)\s*\{/g, 'stop(){return;') // 替换 "visible" text = text.replaceAll(/"visible"/g, '"_visible_"') // 替换暂停 pause() { text = text.replaceAll(/pause\(\)\s*\{/g, 'pause() {return;') return text }) 

    然后你懂得...

    第 2 条附言    2024-03-20 10:02:15 +08:00
    github 懒得上了,很烂的代码,大神略过。 蓝奏地址 https://vsay.lanzoul.com/b02fym2lc
    密码:7ar3
    19 条回复    2024-03-20 17:36:00 +08:00
    CodeXx
        1
    CodeXx  
       2024-03-19 17:08:19 +08:00
    dd
    pancrasxox
        2
    pancrasxox  
       2024-03-19 19:07:12 +08:00 via Android
    不懂 这个有啥用
    LICC168
        3
    LICC168  
       2024-03-19 19:13:39 +08:00
    dd
    notot
        4
    notot  
       2024-03-19 19:27:36 +08:00
    js rpc
    airzhao
        5
    airzhao  
       2024-03-19 20:36:32 +08:00
    dd
    boris1993Jr
        6
    boris1993Jr  
       2024-03-19 21:12:05 +08:00 via iPhone
    dd if=/dev/null of=/dev/sda
    loveqianool
        7
    loveqianool  
       2024-03-19 21:39:31 +08:00 via Android
    有快手的吗
    fbzl
        8
    fbzl  
       2024-03-19 21:50:21 +08:00 via iPhone
    js 文件会变动,要定期适配
    0x0x
        9
    0x0x  
       2024-03-19 23:29:13 +08:00 via iPhone
    dd
    doanything
        10
    doanything  
       2024-03-20 08:16:16 +08:00 via iPhone
    dd
    whoami9426
        11
    whoami9426  
       2024-03-20 08:35:43 +08:00
    hook 网页直播的 websocket
    huyiwei
        12
    huyiwei  
    OP
       2024-03-20 09:10:03 +08:00
    @fbzl 不需要,基本不用改代码,自动适配
    huyiwei
        13
    huyiwei  
    OP
       2024-03-20 09:54:17 +08:00
    github 懒得上了,很烂的代码,大神略过。 蓝奏地址 https://vsay.lanzoul.com/b02fym2lc
    密码:7ar3
    huyiwei
        14
    huyiwei  
    OP
       2024-03-20 09:55:03 +08:00
    huyiwei
        15
    huyiwei  
    OP
       2024-03-20 10:06:20 +08:00 via Android
    @loveqianool 快手同理呀
    EmpCold
        16
    EmpCold  
       2024-03-20 13:28:05 +08:00
    先顶后看。
    dylan593
        17
    dylan593  
       2024-03-20 14:33:54 +08:00
    谢谢楼主分享
    yuanchao
        18
    yuanchao  
       2024-03-20 16:22:18 +08:00
    这个可以干啥,没看懂使用场景
    bkmi
        19
    bkmi  
       2024-03-20 17:36:00 +08:00 via Android
    发个 gist 呗
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1423 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 16:55 PVG 00:55 LAX 09:55 JFK 12:55
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86