Sometimes it is necessary to recover .proto files from binaries or memory dumps.
protod does exactly this - it finds protobuf descriptors in any binary files and writes them back as .proto text files.
Supports:
proto2andproto3messages,enums,services- Extraction from uncompressed file descriptors (used in C/C++, maybe others)
Not supported yet:
- Field or file options
- Oneof fields
- Extensions
- Compressed file descriptors (used in Go)
- Recovery without file descriptors
Go 1.12+ is required.
go get -u github.com/dennwc/protod
go install github.com/dennwc/protod/cmd/protod
protod --out=./out some_binary
The tool will emit recovered .proto files to ./out directory.
MIT (based on protod Python script by Sysdream)