signal-backup-decode 0.1.3

A simple tool to decode signal backups
/**
 * Copyright (C) 2018 Open Whisper Systems
 *
 * Licensed according to the LICENSE file in this repository.
 */

syntax = "proto2";
package signal;

option java_package         = "org.thoughtcrime.securesms.backup";
option java_outer_classname = "BackupProtos";

message SqlStatement {
    message SqlParameter {
        optional string stringParamter   = 1;
        optional uint64 integerParameter = 2;
        optional double doubleParameter  = 3;
        optional bytes  blobParameter    = 4;
        optional bool   nullparameter    = 5;
    }

    optional string       statement  = 1;
    repeated SqlParameter parameters = 2;
}

message SharedPreference {
    optional string file  = 1;
    optional string key   = 2;
    optional string value = 3;
}

message Attachment {
    optional uint64 rowId        = 1;
    optional uint64 attachmentId = 2;
    optional uint32 length       = 3;
}

message Avatar {
    optional string name   = 1;
    optional uint32 length = 2;
}

message DatabaseVersion {
    optional uint32 version = 1;
}

message Header {
    optional bytes iv   = 1;
    optional bytes salt = 2;
}

message BackupFrame {
    optional Header           header     = 1;
    optional SqlStatement     statement  = 2;
    optional SharedPreference preference = 3;
    optional Attachment       attachment = 4;
    optional DatabaseVersion  version    = 5;
    optional bool             end        = 6;
    optional Avatar           avatar     = 7;
}