2016-12-29 15 views
-1

Я пытаюсь получить необработанные данные из файла protobuff. Я нашел несколько онлайн-репозиториев (например, Protobuff dot net), но они требуют, чтобы вы инициализировали класс или структуру для десериализации файла. В моем случае это немного проблема, поскольку (1) я не знаю структуру и (2) она очень часто изменяется часто.Как декомпилировать файлы protobuff с неизвестной структурой

Есть ли способ попробовать десериализировать файл без известной структуры/класса?

+0

Возможна дубликация дейтаграммы [Parse Google Protocol Buffers без .proto?] (Http://stackoverflow.com/questions/14627069/parse-google-protocol-buffers-datagram-without-proto-file) – jpa

ответ

1

Вы можете получить ограниченную информацию, используя --decode_raw флаг protoc инструмента:

protoc --decode_raw < data.pb 

Однако без информации о типе, вы будете видеть только числовые метки и лучшие догадки по типам. Но это лучшее, что вы можете сделать - protobuf эффективен, потому что он избегает размещения много информации о типе на проводе, вместо этого полагаясь на оба конца, чтобы уже знать тип.