Crush — Format Reference

Built from crush/data/build_formats_db.py at commit 640a2a9928f4 on 2026-10-21 06:46:19 UTC.

← All formats

Protocol Buffers (protobuf)

FormatProtocol Buffers (protobuf)
Short nameprotobuf
Categoryserialization
PlatformsWindows, macOS, Linux, iOS, Android, QNX
Crush supportSupported (ProtobufParser)
StatusReviewed
Last reviewed2026-10-04

Forensic relevance

Google's binary serialization format used by Android system services, Chrome/Edge/Brave (e.g. BLOBs in the Network Action Predictor database), Google apps (Gmail, Maps, Drive, Photos), Jetpack DataStore (Android SharedPreferences replacement), and gRPC network protocols. On Apple platforms, protobuf payloads appear as record bodies inside SEGB (.segb, .biome) files written by iOS and macOS system services (Screen Time, Health, Siri, Homekit, and others). No magic bytes — identification relies on file extension (.pb, .binarypb), database BLOB column context (common in Chrome SQLite databases), or heuristic detection of wire-format tag/length patterns. Not self-describing: without the .proto schema file, fields are visible only as field numbers and wire types (varint, length-delimited, fixed32, fixed64) — semantic meaning requires schema recovery. For open-source apps (Chrome, Chromium), schemas are often findable in the project source code. Nested messages, repeated fields, and oneof unions are common structures.

Signatures

None recorded

Known extensions

.pb, .binarypb

References

Cite this entry

Crush Format Reference, “Protocol Buffers (protobuf)”. https://kalink0.github.io/crush-forensics/formats/protobuf/ — source: crush/data/build_formats_db.py at commit 640a2a9928f4e36a976b89901512a8dce824d093, built 2026-10-21 06:46:19 UTC.

Entry in the source at this commit · Change history of the source · Report a correction