GitXplorerGitXplorer
f

messaging_schemas

public
3 stars
0 forks
0 issues

Commits

List of commits on branch main.
Unverified
01740541184ccd2a464389b7de252ec393135a59

Fix typo in CONTRIBUTING.md

jjisoominx committed a month ago
Unverified
68fbb649884fe5fd976fdcd84e319f1f8a5fd491

Fix indentation in armadillo_xma.proto

jjisoominx committed a month ago
Unverified
86c4412fc22e0943b683186e4bbb49dd2e0e3b3f

Add all proto schemas and subprotocol json mapping

jjisoominx committed a month ago
Unverified
6663bd6b915ec316774caf7baa815a68e1035b03

Create CODE_OF_CONDUCT.md

jjisoominx committed a month ago
Unverified
adfcdbe5a290be5e03442852f30f9d7ea4819de6

Create CONTRIBUTING.md

jjisoominx committed a month ago
Unverified
29ba793951fd6634c1f44c64e4fb1801b867152b

Create LICENSE

jjisoominx committed a month ago

README

The README file for this repository.

Messaging Schemas · Deserializing Protobufs

This repo contains the Protocol Buffer schemas used for Meta's end-to-end encryption (E2EE) backend storage: Encrypted Backups (EB). The encrypted data stored in EB can be of one of the two types: encrypted human readable plaintext (old format) or encrypted serialized protobufs (new format).

Once data is decrypted using Meta's Labyrinth protocol, the plaintext (old format) is human readable, whereas the serialized protobuf (new format) is not. So there is additional deserialization required for reading the new format. The schemas in this repo can be used for that deserialization.

Overview

How to use the enclosed files

There are 9 files in total: 8 .proto files and 1 .json file.

  • The eight .proto files outline all protobuf schemas used for Meta's Encrypted Backup (EB).
  • The one subprotocols.json file outlines the mapping from SubProtocol types to the actual type used. The "message" + "field" values map to the "deserialized_message" type. If the "deserialized_message" is not available on the entry, it means that the field is not further deserializable.
facebook/messaging_schemas/
├── README.md
├── armadillo_application.proto
├── armadillo_xma.proto
├── backup_message.proto
├── common.proto
├── consumer_application.proto
├── media_transport.proto
├── msg_application.proto
├── transport_events.proto
└── subprotocols.json

License

This repo (facebook/messaging_schemas) is licensed under the BSD 3-Clause License found in the LICENSE file in the root directory of this source tree.