😭 前言:抓包抓了个“寂寞”?
传统的 HTTP 请求是这样的:{"user_id": 123, "name": "admin"}—— 清晰明了。
Protobuf 的请求是这样的:08 7B 12 05 61 64 6D 69 6E—— 这啥玩意?
Protobuf (PB)是 Google 开发的一种二进制序列化格式。它把字段名去掉了,只保留了“字段序号(Field ID)”和“数据类型”。想看懂它,你需要拿到它的“字典”——也就是.proto文件。
今天我们的任务,就是从 App 里把这个“字典”挖出来,或者直接暴力破解它。
🏗️ 一、 逆向流程:从黑盒到白盒
我们有两种策略:
- 黑盒盲解:不看 App 源码,直接根据二进制规律猜结构(快,但不一定全)。
- 白盒还原:反编译 App,找到原本的
.proto定义(精准,但门槛高)。
逆向流水线 (Mermaid):