signal backup decoder

This repository contains a small programm to decode a backup produced by Signal Android.

Installation

cargo install signal-backup-decode

Feature Flags

This tool depends on parsed protoc files. A pre-generated version is included with in this repo, they can be regenerated using the feature flag protobuf-rebuild.

For regenerating the protobuf-files this tool, protoc has to be installed.

Once protoc is installed, this tool can be installed using cargo:

cargo install --features "rebuild-protoc" signal-backup-decode

Usage

This tool is run as signal-backup-decode. See signal-backup-decode --help:

``` signal-backup-decode [FLAGS] [OPTIONS] --sqlite-path <--password |--password_file > pajowu pajowu@pajowu.de A simple tool to decode signal backups

USAGE: signal-backup-decode [FLAGS] [OPTIONS] --sqlite-path <--password |--password_file >

FLAGS: -h, --help Prints help information --no-tmp-sqlite Do not use a temporary file for the sqlite database --no-verify-mac Do not verify the HMAC of each frame in the backup -V, --version Prints version information

OPTIONS: --attachment-path Directory to save attachments to [default: attachments] --avatar-path Directory to save avatar images to [default: avatars] --config-path Directory to save config files to [default: config] -o, --output-path Directory to save output to -f, --passwordfile File to read the Backup password from -p, --password Backup password (30 digits, no spaces) --sqlite-path File to store the sqlite database in [default: outputpath/signal_backup.db]

ARGS: Sets the input file to use

```

License

This repository is under the GPLv3 License.

The proto/Backups.proto file is taken and derived from the Signal Android Source Code with the following copyright notice:

/** * Copyright (C) 2018 Open Whisper Systems * * Licensed according to the LICENSE file in this repository. */