signal-backup-decode 0.1.3

A simple tool to decode signal backups
signal-backup-decode-0.1.3 is not a library.

signal backup decoder

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


Rust v1.26 or higher is required

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 rebuild-protobuf.

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

  • Debian: apt install protobuf-compiler
  • Arch: pacman -S protobuf

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

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


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

signal-backup-decode [FLAGS] [OPTIONS] <INPUT> --sqlite-path <sqlite_path> <--password <PASSWORD>|--password_file <FILE>>
pajowu <>
A simple tool to decode signal backups

    signal-backup-decode [FLAGS] [OPTIONS] <INPUT> --sqlite-path <sqlite_path> <--password <PASSWORD>|--password_file <FILE>>

    -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

        --attachment-path <attachment_path>    Directory to save attachments to [default: attachments]
        --avatar-path <avatar_path>            Directory to save avatar images to [default: avatars]
        --config-path <config_path>            Directory to save config files to [default: config]
    -o, --output-path <FOLDER>                 Directory to save output to
    -f, --password_file <FILE>                 File to read the Backup password from
    -p, --password <PASSWORD>                  Backup password (30 digits, no spaces)
        --sqlite-path <sqlite_path>            File to store the sqlite database in [default:

    <INPUT>    Sets the input file to use


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.