Get desktop application:
View/edit binary Protocol Buffers messages
This describes the metadata, e.g. the version, the ph number and various features.
Used in:
Whatsapp version, for example "2.22.4.14"
optional string device_model = 2; // Device model, unused
The last two numbers of the user's Jid (phone number)
These bools are only written if the backup is a msgstore backup.
Booleans that indicate various features
call_log
labeled_jid
message_fts
blank_me_jid
message_link
message_main
message_text
missed_calls
receipt_user
message_media
message_vcard
message_future
message_quoted
message_system
receipt_device
message_mention
message_revoked
broadcast_me_jid
message_frequent
message_location
participant_user
message_thumbnail
message_send_count
migration_jid_store
payment_transaction
migration_chat_store
quoted_order_message
media_migration_fixer
quoted_order_message_v2
message_main_verification
quoted_ui_elements_reply_message
alter_message_ephemeral_to_message_ephemeral_remove_column
alter_message_ephemeral_setting_to_message_ephemeral_setting_remove_column
optional int32 backup_export_file_size = 38; // The size of the backup file, unused
cleaned_db, does not show in incremental backups
This file describes the header you can find near the start of an encrypted backup file.
The "optional" here is to make protobuf serialize the zero as well, otherwise, being the default for numeric, it would be omitted.
0 if traditional (crypt14), 1 if end-to-end (crypt15)
If DB is crypt14
If DB is crypt15
Version that generated backup and other infos
crypt14 cipher files.
Used in:
is usually 0001
Is usually "1"
The 32-bytes long server salt
The 16-bytes long google id salt
The 16-bytes long IV
In crypt15 files only the IV is stored.
Used in:
The 16-bytes long IV
This enum describes if the key is self-managed by WhatsApp of if it is stored in the HSM. In other words, traditional = 0, end-to-end = 1
Used in: