protobuf-inspector - :detective: Tool to reverse-engineer Protocol Buffers with unknown definition

  •        344

But protobuf-inspector is able to correctly guess the message structure most of the time. When it finds embedded binary data on a field, it'll first try to parse it as a message. If that fails, it'll display the data as a string or hexdump. It can make mistakes, especially with small chunks. It shows the fields just in the order they are encoded in the wire, so it can be useful for those wanting to get familiar with the wire format or parser developers, in addition to reverse-engineering.

https://github.com/jmendeth/protobuf-inspector

Tags
Implementation
License
Platform

   




Related Projects

protobuf - Protocol Buffers - Google's data interchange format

  •    C++

Copyright 2008 Google Inc. Protocol Buffers (a.k.a., protobuf) are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data. You can find protobuf's documentation on the Google Developers site.

protobuf-c - Protocol Buffers implementation in C

  •    C++

This is protobuf-c, a C implementation of the Google Protocol Buffers data serialization format. It includes libprotobuf-c, a pure C library that implements protobuf encoding and decoding, and protoc-c, a code generator that converts Protocol Buffer .proto files to C descriptor code, based on the original protoc. protobuf-c formerly included an RPC implementation; that code has been split out into the protobuf-c-rpc project. protobuf-c's mailing list is hosted on a Google Groups forum. Subscribe by sending an email to protobuf-c+subscribe@googlegroups.com.

Protocol Buffers - Google's data interchange format

  •    C++

Protocol buffers (a.k.a., protobuf) are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data. You define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data to and from a variety of data streams and using a variety of languages.

php-protobuf - PHP Protobuf - Google's Protocol Buffers for PHP

  •    PHP

Protocol Buffers are a way of encoding structured data in an efficient yet extensible format. It might be used in file formats and RPC protocols.PHP Protobuf is Google's Protocol Buffers implementation for PHP with a goal to provide high performance, including a protoc plugin to generate PHP classes from .proto files. The heavy-lifting (a parsing and a serialization) is done by a PHP extension.

pbf - A low-level, lightweight protocol buffers implementation in JavaScript.

  •    Javascript

A low-level, fast, ultra-lightweight (3KB gzipped) JavaScript library for decoding and encoding protocol buffers, a compact binary format for structured data serialization. Works both in Node and the browser. Supports lazy decoding and detailed customization of the reading/writing code.If you use webpack as your module bundler, you can use pbf-loader to load .proto files directly. It returns a compiled module ready to be used.


protobuf - Protocol Buffers for Go with Gadgets

  •    Go

gogoprotobuf is a fork of golang/protobuf with extra code generation features.Please let us know if you are using gogoprotobuf by posting on our GoogleGroup.

Wire - Clean, lightweight protocol buffers for Android and Java.

  •    Java

Schemas describe and document data models. If you have data, you should have a schema. Google's Protocol Buffers are built around a great schema language. It's cross platform and language independent. Whatever programming language you use, you'll be able to use proto schemas with your application. Proto schemas are backwards-compatible and future-proof. You can evolve your schema as your application loses old features and gains new ones.

protobuf-swift - Google ProtocolBuffers for Apple Swift

  •    Swift

An implementation of Protocol Buffers in Swift. Protocol Buffers are a way of encoding structured data in an efficient yet extensible format. This project is based on an implementation of Protocol Buffers from Google. See the Google protobuf project for more information.

protobuf.js - Protocol Buffers for JavaScript (& TypeScript).

  •    Javascript

Protocol Buffers are a language-neutral, platform-neutral, extensible way of serializing structured data for use in communications protocols, data storage, and more, originally designed at Google (see). Installation How to include protobuf.js in your project.

ScalaBuff - the scala protocol buffers (protobuf) compiler

  •    Scala

ScalaBuff is a Scala Protocol Buffers (protobuf) compiler. It takes .proto files and outputs valid Scala classes that can be used by your code to receive or send protobuf messages. Both the ScalaBuff generator and the generated Scala classes depend on Google's Java runtime for Protocol Buffers, which is provided with ScalaBuff.

prototool - Your Swiss Army Knife for Protocol Buffers

  •    Go

Protobuf is one of the best interface description languages out there - it's widely adopted, and after over 15 years of use, it's practically bulletproof. However, working with Protobuf and maintaining consistency across your Protobuf files can be a pain - protoc, while being a tool that has stood the test of time, is non-trivial to use, and the Protobuf community has not developed common standards with regards to stub generation. Prototool aims to solve this by making working with Protobuf much simpler. Prototool accomplishes this by downloading and calling protoc on the fly for you, handing error messages from protoc and your plugins, and using the generated FileDescriptorSets for internal functionality, as well as wrapping a few great external libraries already in the Protobuf ecosystem.

rust-protobuf - Rust implementation of Google protocol buffers

  •    Rust

Protobuf implementation in Rust. 1.7+ 2.* versions should follow semver conventions. However, if you are developing critical library it's probably better to specify version as ~2.0 (>= 2.0 and <= 2.1), but not as 2.0 (>= 2.0 and <= 3.0).

Cap'n Proto - Serialization/RPC system

  •    C++

Cap'n Proto is an insanely fast data interchange format and capability-based RPC system. Think JSON, except binary. Or think Protocol Buffers, except faster. In fact, in benchmarks, Cap'n Proto is INFINITY TIMES faster than Protocol Buffers.

protocol-buffers - Protocol Buffers for Node.js

  •    Javascript

See the Google Protocol Buffers docs for more information about the available types etc.Since v4 you can now compile your schemas to a JavaScript file you can require from Node. This means you do not have runtime parse the schemas, which is useful if using in the browser or on embedded devices. It also makes the dependency footprint a lot smaller.

protobuf - Go support for Google's protocol buffers

  •    Go

This package and the code it generates requires at least Go 1.4.This software has two parts: a 'protocol compiler plugin' that generates Go source files that, once compiled, can access and manage protocol buffers; and a library that implements run-time support for encoding (marshaling), decoding (unmarshaling), and accessing protocol buffers.

upb - small, fast parsers for the 21st century

  •    C

Unleaded is a library of fast parsers and serializers. These parsers/serializers are written in C and use every available avenue (particularly JIT compilation) to achieve the fastest possible speed. However they are also extremely lightweight (less than 100k of object code) and low-overhead.The library started as a Protocol Buffers library (upb originally meant μpb: Micro Protocol Buffers). It still uses protobuf-like schemas as a core abstraction, but it has expanded beyond just Protocol Buffers to JSON, and other formats are planned.

Protocol Buffers Workbench

  •    

Protocol Buffers Workbench helps developers to explore the Google Protocol Buffers serialization format. Given the message definition (in .proto format) it can translate messages back and forth between text and binary format. It's developed in C#.

protoc-gen-lua - Google's Protocol Buffers project, ported to Lua

  •    Lua

"Protocol Buffers" is a binary serialization format and technology, released to the open source community by Google in 2008. There are various implementations of Protocol Buffers and this is for Lua.

gpb - A Google Protobuf implementation for Erlang

  •    Erlang

The gpb is a compiler for Google protocol buffer definitions files for Erlang. See https://developers.google.com/protocol-buffers/ for further information on the Google protocol buffers.

sproto - Yet another protocol library like google protocol buffers , but simple and fast.

  •    C

Sproto is an efficient serialization library for C, and focuses on lua binding. It's like Google protocol buffers, but much faster. The design is simple. It only supports a few types that lua supports. It can be easily bound to other dynamic languages, or be used directly in C.