You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解码谷歌请求头中的PB(Protocol Buffer)字符串?

解码谷歌请求头中的PB参数

你拿到的&pb=后的字符串不是标准Protocol Buffer二进制数据,而是谷歌自定义的私有编码格式,和公开的PB协议不是一回事,没有官方解码规范。

以下是可行的解码思路:

  • 这种参数用!作为分隔符,每个分段的前缀(比如1m、1y、2i)对应字段的类型和序号:

    • y大概率是时间戳字段,数值可能是谷歌自定义的时间偏移值(比如从某个特定时间点开始的微秒数)
    • i代表整数字段,后面的数字就是字段值
    • b代表布尔字段,1对应true,0对应false
    • s代表字符串字段,后面的编码串是经过处理的字符串值
    • m代表复合字段,后面的数字表示该字段包含的子项数量
    • e代表枚举字段,后面的数字是枚举值
  • 针对你提供的参数分段解析示例:

    • !1m2:第1个复合字段,包含2个子项
    • !1y5180949545401667117:第1个时间戳字段,值为5180949545401667117
    • !2y10222232094831998944:第2个时间戳字段,值为10222232094831998944
    • !2m1:第2个复合字段,包含1个子项
    • !2i10:第2个整数字段,值为10
    • !3e1:第3个枚举字段,值为1
    • !4m6:第4个复合字段,包含6个子项
    • !3b1到!20b1:这些都是上述复合字段下的布尔字段,值均为true
    • !5m2:第5个复合字段,包含2个子项
    • !1sjDZuZKnJB8uu5NoPkJ-GyA8:第1个字符串字段,值为jDZuZKnJB8uu5NoPkJ-GyA8(可能还经过了Base64或其他编码,需要进一步验证)
    • !7e81:第7个枚举字段,值为81

需要注意的是,谷歌的这种私有编码字段含义没有公开文档,以上解析只是基于社区逆向经验的推测,不同场景下的前缀含义可能存在差异。如果需要精准解码,要么找到对应谷歌服务的内部.proto定义,要么尝试社区分享的逆向解码脚本,但准确性无法保证。

内容的提问来源于stack exchange,提问作者Scriphy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 19:37:39