我只是在做一些逆向工程的练习,并且遇到了application/x-protobuff协议。我目前正在使用mitmproxy嗅探来自redfin的网络调用。我看到了一个结果的端点,但是响应是内容类型为application/x-protobuff的非结构化JSON格式的数据。在做了一些研究之后,我发现protobuff使用一个模式在内部映射数据,我假设这个模式也位于客户端的某个地方,称为.proto文件。
为了验证我对屏幕截图的假设,
我可以看到有一个名为X-ProtoBuf-Schema的响应头,它是schma可能所在的位置,与我可以用来解密响应数据的模式相同?我该如何继续以更结构化的方式读取数据呢?
我可以使用对该端点的请求来发出请求,只需为我提供协议缓冲区。
PS:这就是JSON格式的https://pastebin.com/LY51X9KZ
发布于 2021-04-20 14:27:26
“我假设模式也位于客户端的某个位置,称为.proto文件。”-我完全不这样认为;客户端一旦构建,就不需要.proto -生成的代码将被使用,而不是任何显式的模式。如果一个站点正在发布一个模式,那么它很可能是来自google/protobuf/descriptor.proto的序列化的FileDescriptorSet,它包含.proto的意图,但作为数据。
https://stackoverflow.com/questions/67172920
复制相似问题