dddddddddddddddddddddddddddddddddddddddd/
ddddddddddddddddddMMMMdddddddddddddddddd/
``````````````````NMMM``````````````````
---------------------NMMM---------------------`
`NNNNNNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNNNNNNNNo
`MMMmoooooooooooooooooNMMMooooooooooooooooosMMMs
`MMMy NMMM -MMMs
`MMMy /hhhhhhhhhhh` NMMM hhhhhhhhhhhs -MMMs
`MMMy /hhhhhhhhhhh` NMMM hhhhhhhhhhhs -MMMs
`mmms NMMM -mmmo
/ssssssssssss` NMMM sssssssssssss.
sNNNNNNNNNNNN` NMMM NNNNNNNNNNNNN-
oooo
::::::::::::::::::::::::::::::::::::`
`MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM/
////////////////////////////////////.
-yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyo
:MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMd
````````````-NMMMd.```````````-ohNh+.````````````
:NMMMo` `+hMMMNy:`
+NMMm: ````-sNMMMmo.
.yyyyyydMMMMmdddddmmmmmmmmmmmmNNNMMMMMMNh:
`MMMMMMMNNNNNNNmmmmmmddddddhhhhhhyyyyymMMMd/
---............````````````` `+mds:
``
[deroad's blog]
[home]
# 2019-11-06 | radare2 - protobuf
{
Today I've release, for radare2, raw protocol buffers decoding.
It's quite easy to use, just type pFb @ 0x1234 and it will print the decoded protobuf.
protocol buffer decoding in C:
typedef struct _proto_head {
uint8_t wire : 3;
uint8_t number : 5;
} __attribute__((packed)) proto_head_t;
#define WIRE_VARINT 0
#define WIRE_64_BIT 1
#define WIRE_LEN_DELIM 2
#define WIRE_START_GRP 3
#define WIRE_END_GRP 4
#define WIRE_32_BIT 5
}
# References:
https://developers.google.com/protocol-buffers/docs/encoding