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:
proto2
andproto3
message
s,enum
s,service
s- 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)