protobuf-inspector is a Simple program that can parse Google Protobuf(https://developers.google.com/protocol-buffers) encoded blobs (version 2 or 3) without knowing their accompanying definition. It will print a nice, colored representation of their contents.
As you can see, the field names are obviously lost, together with some high-level details such as:
– whether a varint uses zig-zag encoding or not (will assume no zig-zag by default)
– whether a 32-bit/64-bit value is an integer or float (both shown by default)
– signedness (auto-detect by default)
But protobuf-inspector is able to correctly guess the message structure most of the time. When it finds embedded binary data on a field, it’ll first try to parse it as a message. If that fails, it’ll display the data as a string or hexdump. It can make mistakes, especially with small chunks.
+ Python 2.7.x
git clone https://github.com/jmendeth/protobuf-inspector && cd protobuf-inspector
before run edit my-blob
./main.py < my-blob