--- id: protobuf-decoder version: "0.4.0" license: unclear license_treatment: permissive maintenance: dormant --- # protobuf-decoder — Decode protobuf without proto file License: permissive · Maintenance: dormant · Downloads: 131.8K/mo ## 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 above — 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 pip install protobuf-decoder uv add protobuf-decoder 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_current - Install friction: low - Maintenance: dormant - Downloads: 131.8K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags protobuf binary decoder, decode protobuf without schema, parse protobuf messages, protobuf wire format parser, reverse engineer protobuf data, protobuf hex decoder, protobuf binary analysis, protobuf, binary-parsing, reverse-engineering [View on SkillFed](https://skillfed.io/packages/protobuf-decoder) · [View on PyPI](https://pypi.org/project/protobuf-decoder/)