如何反编译未知结构的protobuff文件

时间:2016-12-29 09:51:55

标签: vb.net serialization protocol-buffers protobuf-net

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

有没有办法试图在没有已知结构/类的情况下反序列化文件?

1 个答案:

答案 0 :(得分:1)

您可以使用protoc工具的--decode_raw标记来获取有限的信息:

protoc --decode_raw < data.pb

但是,如果没有类型信息,您只会在类型上看到数字标签和最佳猜测。但是,这是你能做的最好的 - protobuf是有效的,因为它避免在线上放置很多类型的信息,而是依靠两端已经知道类型。