首页
社区
课程
招聘
[已解决] [求助]C#ProtoBuf反序列化求助 50.00雪花
发表于: 2018-8-16 05:25 5645

[已解决] [求助]C#ProtoBuf反序列化求助 50.00雪花

2018-8-16 05:25
5645
如下图所示,数据:0A1108AC0210641801289CE486EED32C30C45E121D08C45E1218E5B7B2E59CA8E585B6E4BB96E59CB0E696B9E799BBE5BD95乃是两个ProtoBuf对象。

其中对象1为:0A1108AC0210641801289CE486EED32C30C45E

对象2为:121D08C45E1218E5B7B2E59CA8E585B6E4BB96E59CB0E696B9E799BBE5BD95

然后我查看了下ProtoBuf的数据解释:14eK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1L8r3!0Y4i4K6u0W2j5%4y4V1L8W2)9J5k6h3&6W2N6q4)9J5c8X3#2&6L8X3q4E0k6h3W2K6L8s2g2Q4x3V1k6S2M7Y4c8A6j5$3I4W2i4K6u0r3k6r3g2@1j5h3W2D9M7#2)9J5c8U0M7^5y4U0b7#2z5o6R3H3


然后根据实际操作,得出对象1的0A和对象2的12为index,对象1的11和对象2的1D为字段长度

实际操作如下图


由此可见,C#的ProtoBuf-Net是不能自己解析index和字段长度的。

所以我使用对象1:08AC0210641801289CE486EED32C30C45E
对象2:08C45E1218E5B7B2E59CA8E585B6E4BB96E59CB0E696B9E799BBE5BD95
则畅通无阻


现在的问题是,如何能让C#解析多个对象,就是解析原返回数据。


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
反序列化针对你定义的.proto结构体,这样的多个加个循坏遍历以下吧,索引加长度,index按照字符串的

长度的解析看看proto源码中CodedInputStream::ReadVarint32
2018-8-16 10:21
0
雪    币: 952
活跃值: (2151)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3

看错了
最后于 2018-8-16 14:36 被loqich编辑 ,原因:
2018-8-16 14:33
0
雪    币: 3752
活跃值: (2744)
能力值: ( LV7,RANK:105 )
在线值:
发帖
回帖
粉丝
4
直接用工具转不行吗?
2018-8-16 15:30
0
雪    币: 2
活跃值: (393)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
wxstslj 反序列化针对你定义的.proto结构体,这样的多个加个循坏遍历以下吧,索引加长度,index按照字符串的长度的解析看看proto源码中CodedInputStream::ReadVarint32
非常感谢
2018-8-16 18:42
0
游客
登录 | 注册 方可回帖
返回