protobuf简单使用及其抓包分析_抓包protobuf反解析

在抓一个app的包的时候发现http的Content-type竟然是application/x-protobuf,第一次遇到这种。网上也有不少问关于这方面的,或许有人已经研究出来了,但是不肯放干货啊。只能自己探索了。

首先我用的抓包工具是Charles,抓包是能看到内容的。Charles本身是用java写的,所以很容易看到源代码。在com.xk72.charles.gui.transaction.viewers.protobuf包下面确实有一个ProtocolBuffersTreeBodyViewer$1的视图,因为jd-gui搜索代码功能有缺陷,导出jar也一直卡着,哪里开始解析的没有找到。只能从protobuf编码开始研究了。然后发现有个命令‘protoc.exe  --decode_raw ’直接可以解析任意字节流了。

能看到包的内容算是解决了,但是怎么伪造protobuf包呢?答案就是保持字节流的长度不变,直接替换byte的内容。然后直接发包就可以了。

比如我在分析一个protobuf字节流的时候,拿到的二进制保存到文件里查看是这样的:

86177897654321267"006006* b8e6683bd8cf4f5997f9ff55d04da8910ÿÿÿB`

$ffffffff-c978-5f17-ffff-ffffc2e834d93.8.5.1*$手机型å·ï¼šMuMu版本å·ï¼š6.0.1BaJ渠é“

然后另外一个protobuf字节流拿到的二进制保存到文件里查看是这样的:

kOKc182****1121 b8e6683bd8cf4f5997f9ff55d04da891 ¤ç‹®¼©ÎÐ×Ìë2019/9/6 11:26:19

在使用‘protoc.exe  --decode_raw ’查看包内容的时候,有一个int

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值