• Stars
    star
    185
  • Rank 208,271 (Top 5 %)
  • Language
    Rust
  • License
    GNU General Publi...
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Decode Signal Backups

signal backup decoder

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

Installation

Rust v1.41 or higher is required. Install rust first and then execute the following command in a terminal:

cargo install signal-backup-decode

On Debian/Ubuntu you will need the following packages:

sudo apt install libsqlite3-dev libssl-dev pkg-config

Usage

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

signal-backup-decode 0.2.1
pajowu <[email protected]>
A simple tool to decode signal backups

USAGE:
    signal-backup-decode [FLAGS] [OPTIONS] <INPUT> <--password <PASSWORD>|--password-file <FILE>|--password-command <COMMAND>>

FLAGS:
    -f, --force              Overwrite existing output files
    -h, --help               Prints help information
        --no-in-memory-db    Do not use in memory sqlite database. Database is immediately created on disk (only
                             considered with output type RAW).
        --no-verify-mac      Do not verify the HMAC of each frame in the backup
    -V, --version            Prints version information

OPTIONS:
    -v, --verbosity <LEVEL>             Verbosity level, either DEBUG, INFO, WARN, or ERROR
    -o, --output-path <FOLDER>          Directory to save output to. If not given, input file directory is used
    -t, --output-type <TYPE>            Output type, either RAW, CSV or NONE
        --password-command <COMMAND>    Read backup password from stdout from COMMAND
        --password-file <FILE>          File to read the backup password from
    -p, --password <PASSWORD>           Backup password (30 digits, with or without spaces)

ARGS:
    <INPUT>    Sets the input file to use

If you want to overwrite an existing backup, use the -f flag. Output type NONE can be useful to check the backup file for corrupted frames but no output is written to disk. Only the first line is read from --password-command and --password-file.

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

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.
 */

More Repositories

1

superbird-custom-webapp

TypeScript
46
star
2

fahrgastrechte-autofill

Python
43
star
3

daylio-visualisations

A collection of scripts to visualize data from the daylio moodtracker
Python
18
star
4

db-python

python-library fĂźr die DB-Navigator-API (reiseauskunft.bahn.de)
Python
17
star
5

minkorrekt-experimente

Eine Sammlung der Experimente aus dem "Methodisch Inkorrekt"-Podcast
Python
13
star
6

emojy

A emoji based programming language.
Python
8
star
7

inkscape_trace

C++
4
star
8

das-beh-rdliche.de

JavaScript
4
star
9

whispercppy

Python bindings for whispercpp
C++
3
star
10

svgs

3
star
11

aceandtate

Python
2
star
12

ghibli-image-downloader

Python
2
star
13

weightlog

A simple and secure weight logger using python and matplotlib
Python
2
star
14

ifg-data

Data I received via Freedom-of-Information-Requests
1
star
15

pretix-cmcov

HTML
1
star
16

k11-markov

Python
1
star
17

pykecitizens

An inofficial API client for bikecitizens
Python
1
star
18

poettering-bot

A twitter bot helping the lennart to come up with new things to reinvent
Rust
1
star
19

auschreibungscraper

Python
1
star
20

genderly-pochecker

Python
1
star
21

pretix-custom-css

Include Custom CSS code in all pretix pages
Python
1
star
22

pretix-latexforms

Python
1
star
23

bbb-sipgate

1
star
24

transcribee-audapolis-export

A simple scripts that takes a @transcribee document and converts it into an @audapolis document.
Python
1
star
25

secpassgen

SecPassGen is a password generator. The app helps you use secure passwords everywhere without forcing you to remember all the password or giving your passwords to someone. The App eses a master-password, which you need to remember and a service identifier, for example the name of the service (Facebook, Twiiter, Google, etc.). Every time you enter the same master password and the same service identifier, you will get the same password. No data leaves your device. Everything is done offline.
Java
1
star