【Web逆向】Protobuf 逆向解析两种方法
【Web逆向】Protobuf 逆向解析两种方法
一、Protobuf 的特征
-
Protocol buffers是一种语言无关、平台无关、可扩展的序列化结构数据的方法;严格说不算是加密,只能是叫序列化结构数据,让可读变为疑似的乱码
-
请求头里明显有提示,媒体类型是 proto,content-type: application/grpc-web+proto
-
上面序列化的数据都可以复制保存为解析.bin文件,解析.bin文件显示原始数据有两种方法,都会出现还原失败的情况,这和复制下来的序列化数据有关
二、解析.bin文件显示原始数据
法一:用 blackboxprotobuf 模块解析
直接使用python应对protobuf的第三方库:blackboxprotobuf
安装命令:pip install blackboxprotobuf
调用核心函数 :blackboxprotobuf.decode_message(Byte类型数据)
进行解protobuf格式数据变成我们好理解,直观的数据。
返回值有两个:第一个是数据(和上一节用命令行解出来的那种格式类似,对应着proto文件的位置),第二个是对应位置的类型
用 blackboxprotobuf 模块解析,即可看到原始数据,但是有可能是失败的结果
法二:使用 protoc 解析工具
需要去链接 https://github.com/protocolbuffers/protobuf/releases/ ,下载对应版本并解压,
然后添加环境变量,
然后即可在cmd执行protoc --decode_raw < test.bin,其中test.bin是一个文件名称,即可看到原始数据
当然这个也会有解析失败的情况比如Failed to parse input.
本文作者:Dancing-Pierre
本文链接:https://www.cnblogs.com/wyc-1009/p/17547994.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步