【Web逆向】Protobuf 逆向解析两种方法

文章介绍了如何对使用Protobuf序列化的.bin文件进行逆向解析,包括使用blackboxprotobufPython模块和protoc解析工具。这两种方法都可能遇到解析失败的情况,与序列化数据的结构有关。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

跳舞的皮埃尔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值