https://github.com/dennwc/protod
Protobuf file descriptor extractor
https://github.com/dennwc/protod
protobuf protobuf2 protobuf3
Last synced: about 2 months ago
JSON representation
Protobuf file descriptor extractor
- Host: GitHub
- URL: https://github.com/dennwc/protod
- Owner: dennwc
- License: mit
- Created: 2019-06-15T19:49:09.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-06-15T22:05:20.000Z (almost 6 years ago)
- Last Synced: 2025-04-11T05:06:09.021Z (about 2 months ago)
- Topics: protobuf, protobuf2, protobuf3
- Language: Go
- Homepage:
- Size: 10.7 KB
- Stars: 22
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# protod
[](http://godoc.org/github.com/dennwc/protod)
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` and `proto3`
- `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## Installation
Go **1.12+** is required.
```
go get -u github.com/dennwc/protod
go install github.com/dennwc/protod/cmd/protod
```## Usage
```
protod --out=./out some_binary
```The tool will emit recovered `.proto` files to `./out` directory.
## License
**MIT** (based on [protod](https://github.com/sysdream/Protod) Python script by Sysdream)