skillfed

protobuf-decoder

Decode protobuf without proto file

protobuf-decoder v0.4.0 131.8K downloads/30d#11,572 on PyPI49
Permissive license DORMANT released

What it is and what it does

Protobuf Decoder is a Python library that parses protobuf binary messages without access to their original .proto schema files. It reads hex-encoded wire-format data and reconstructs the field numbers, wire types (varint, string, length-delimited, etc.), and decoded values. The parser handles nested messages, detects whether length-delimited fields contain nested protobufs or raw data, and reports any unparseable remaining bytes.

The library is useful for reverse-engineering protobuf messages, debugging protocol implementations, or analyzing binary data when schema definitions are unavailable. It requires Python 3.7 or later and has no external runtime dependencies, making it straightforward to integrate. Maintenance is dormant, so it is stable for its current feature set but will not receive active development.

Use it for:

  • Reverse-engineer protobuf messages from captured network traffic or logs when .proto files are not available
  • Debug and inspect protobuf binary payloads during development or troubleshooting of gRPC services
  • Analyze unknown binary protocol data to determine field structure and data types without schema documentation
  • Extract and validate protobuf message contents in security research or forensic analysis workflows
  • Parse protobuf data in environments where the official protobuf compiler or schema is not accessible

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Decodes protobuf binary messages without requiring proto schema files, parsing wire-format data into structured field and type information.

Yes, if you need to decode protobuf binaries without schema files and accept dormant maintenance. The package is lightweight, dependency-free, and permissively licensed. However, do not rely on it for active bug fixes or new features—it is suitable for one-off analysis, debugging, or reverse-engineering tasks, not for mission-critical production pipelines.

Install

protobuf-decoder on PyPI

pip

pip install protobuf-decoder

uv

uv add protobuf-decoder

poetry

poetry add protobuf-decoder

Installing protobuf-decoder

Before you install

Low friction installation with no runtime dependencies. Maintenance is dormant—last release was 2024-02-25 and no commits since 2024-05-22—so expect no active bug fixes or feature development, though the repository remains public and unarchived.

License in practice

MIT license (permissive) means you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.

Quickstart

from protobuf_decoder.protobuf_decoder import Parser

test_target = "0A 09 ED 85 8C EC 8A A4 ED 8A B8"
parsed_data = Parser().parse(test_target)
print(parsed_data.to_dict())

Verify before relying

  • Accuracy and completeness of nested protobuf detection logic across real-world message types
  • Performance characteristics when parsing large or deeply nested protobuf binaries
  • Compatibility with protobuf3 and proto2 wire formats beyond the documented examples

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance dormant — 901 days since the last release
Last repo commit
First released
Downloads 131,842/month — #11,572 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: protobuf_decoder-0.4.0-py3-none-any.whl

License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3

Tags

protobuf binary decoderdecode protobuf without schemaparse protobuf messagesprotobuf wire format parserreverse engineer protobuf dataprotobuf hex decoderprotobuf binary analysis
protobufbinary-parsingreverse-engineering

More Software Development packages