某音Web私信逆向

本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!

本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除!

抓包

网络上说是ws的包,但是我找到的是HTTPS的包:/v1/message/send

请求体还原

网络上说是protobuf格式的,那我们就还原下protobuf文件先

关于这部分不想多写,因为是最简单的了。不管是跟栈还是直接搜索请求体中那几个能看懂的字符串都能找到protobuf部分,然后将代码直接丢给DeepSeek去还原就行了。

这里给不是很懂protobuf的人提一嘴,这东西就像对象,里面能一层套一层,你要是全部都还原的话工作量太大了,假设请求的数据里面没有A字段那么关于A字段的部分可以直接省去还原。

下面就是还原后的结果了,网上大部分的文章也就到这一步了。

请求体字段分析

咋们来看看哪些字段是要逆向的。

  • 首先headers中貌似没有,不管是webid还是fp直接从浏览器复制就行。
  • build_number貌似是固定值。
  • token,ts_sign从浏览的本地存储中复制。
  • sdk_certbase64解码下就知道了。
  • reuqest_sign这个是关键。
  • conversation_id貌似是接收人和发信人id(其实也是create接口返回)。
  • sequence_idconversation_short_id暂时不知道。
  • client_message_id就是uuid4。
  • ticket暂时不知道

reuqest_sign分析

你没看错是reuqest_sign,不是我拼写错误,而是就叫这个名字…..咋们直接搜索。s就是你发送的一些数据了,然后使用&进行拼接起来当参数传入到sign方法,那接下来就是进入sign方法了。

单步进入的,给DeepSeek分析下知道req_sign就是我们想要的===>l就是我们想要的===>l来源于(0,
v.MU)(f || "")
===>参数f来源于y.sign(e || c)

进入sign方法后实际上就知道加密方式了,本来想使用python直接写算法的,但是我不知道算法有没有魔改就选择直接扣代码了。

我们已经知道了f的值了,那么(0,v.MU)(f || "")就简单了,跟一下知道是hextob64方法。自此完成了此参数的逆向。整理下方法就是下面这样了

conversation_short_id和ticket分析

时隔几天又来更新了,这次搞的是conversation_short_idticket

/v2/conversation/create接口返回的!逆向protobuf就行,结束。

sequence_id分析

接口索引?每次加一,结束

评论

  1. 开发者
    11 月前
    2025-5-22 17:21:33

    有开源代码吗

  2. Rock
    9 月前
    2025-7-24 16:45:01

    您好,能劳烦您贴一下完整的reuqest_sign构建代码吗,我跟了一遍js但是还是发送消息失败

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇