Comment décoder binaire/raw google protobuf de données

J'ai un coredump avec codées protobuf de données et je veux décoder ces données et voir le contenu. J'ai l' .proto fichier qui définit ce message en raw protocole de la mémoire tampon.
Mon proto fichier ressemble à ceci:

$  cat my.proto 
message header {
  required uint32 u1 = 1;
  required uint32 u2 = 2;
  optional uint32 u3 = 3 [default=0];
  optional bool   b1 = 4 [default=true];
  optional string s1 = 5;
  optional uint32 u4 = 6;
  optional uint32 u5 = 7;
  optional string s2 = 9;
  optional string s3   = 10; 
  optional uint32 u6 = 8;
}

Et protoc version:

$  protoc --version
libprotoc 2.3.0

J'ai essayé ce qui suit:

  1. Dump les données brutes de la base

    (gdb) dump memory b.bin 0x7fd70db7e964 0x7fd70db7e96d

  2. Passer à protoc

    //proto file (my.proto) is in the current dir
    $ protoc --decode --proto_path=$pwd my.proto < b.bin
    Missing value for flag: --decode
    To decode an unknown message, use --decode_raw.

    $ protoc --decode_raw < /tmp/b.bin
    Failed to parse input.

Toute réflexion sur la façon de le décoder? La documentation n'est pas d'expliquer en grande partie sur la façon d'aller à ce sujet.

Modifier:
De données dans un format binaire (10 octets)

(gdb) x/10xb 0x7fd70db7e964
0x7fd70db7e964: 0x08    0xff    0xff    0x01    0x10    0x08    0x40    0xf7
0x7fd70db7e96c: 0xd4    0x38

OriginalL'auteur brokenfoot | 2016-01-27