Skip to content

序列化与反序列化 ​

🔄 App 发包前把对象转成字节流(序列化),收包后还原(反序列化)。r0capture 抓到的是序列化后的字节。

在抓包中的体现 ​

r0capture 抓到的是序列化之后、加密之前的字节流:

序列化格式抓到的样子可读性
JSON{"id":123,"name":"x"}文本可读
XML<user id="123">文本可读
Protobuf二进制需 .proto 解析
自定义二进制二进制需逆向格式

定位序列化代码 ​

message["stack"] 的调用栈能定位 App 哪个类在做序列化,便于逆向格式:

at com.app.proto.UserProto.toByteArray(UserProto.java:88)
at com.app.net.Client.send(Client.java:42)
...

栈里出现 *Proto*/toJson/toByteArray 等即序列化点。

相关文档 ​

基于 VitePress 构建 · 教学用途