Tool

protodump

Go command-line utility that recovers Protocol Buffers schemas from a compiled binary or any other file: it scans the raw bytes for serialized FileDescriptorProto records embedded by generated code, locating them through their .proto file names, and writes each one back out as a .proto source file under its original descriptor path. The regenerated files use proto2, proto3 or editions syntax and include the package, imports, common file options, messages with reserved ranges, nested enums, oneofs, maps and default values, and services with their RPC methods, giving analysts message and API definitions to work with when decoding Protobuf traffic.

Requirements & limits

  • No tagged releases at review; the README installs it with go install from the latest module version, and go.mod declares Go 1.26.8. The reviewed main commit of 2026-09-27 confines output writes to the chosen directory and refuses to overwrite existing files. CI tests and builds it on Linux, macOS and Windows.
  • Input is a user-supplied binary or other file that embeds complete descriptors. The scan is a byte search rather than executable-format parsing, so descriptors that are absent or not stored as plain serialized records are not found, and records that fail to parse are skipped silently unless -v is given.
  • Field, message, enum, oneof, service and method options are not emitted yet (TODOs in the generator), and extension definitions are not written, so regenerated files can differ from the originals and need analyst review.
  • No license file or license statement was found at the reviewed commit, and GitHub detects no license, so the project states no reuse terms. No binaries were scanned.

About this entry

Type
Tool
Category
Protocol analysis tools
Relationship
Foundation tool
Targets
Binary · Protocol

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · arkadiyt/protodump · Revision d398fad
  2. pkg/protodump/scan.go GitHub · arkadiyt/protodump · Revision d398fad
  3. pkg/protodump/proto.go GitHub · arkadiyt/protodump · Revision d398fad
  4. cmd/protodump/main.go GitHub · arkadiyt/protodump · Revision d398fad
  5. cmd/protodump/output.go GitHub · arkadiyt/protodump · Revision d398fad
  6. go.mod GitHub · arkadiyt/protodump · Revision d398fad
  7. .github/workflows/build.yml GitHub · arkadiyt/protodump · Revision d398fad
  8. https://github.com/arkadiyt/protodump/tree/d398fada3452b87e6f0879d9cdf3dad31bb74d6e

More in Protocols

All 30 entries in Protocols