2016-12-29 167 views
-1

我试图从protobuff文件中获取原始数据。我找到了一些在线存储库(例如Protobuff dot net),但它们要求您初始化一个类或结构以将该文件反序列化。在我的例子中,这是一个问题,因为(1)我不知道结构和(2)它很可能经常改变。如何反编译结构未知的protobuff文件

是否有任何方法试图反序列化没有已知结构/类的文件?

+0

[Parse Google Protocol Buffers datagram without .proto file?](http://stackoverflow.com/questions/14627069/parse-google-protocol-buffers-datagram-without-proto-file)可能存在重复 – jpa

回答

1

您可以通过使用protoc工具的--decode_raw标志获得的信息有限:

protoc --decode_raw < data.pb 

然而,如果没有类型的信息,你只看到数字标签和最佳猜测的类型。但是,这是你可以做的最好的 - protobuf是有效的,因为它避免了在线路上输入许多类型信息,而是依靠两端来了解类型。