brianmangan / signal-backup-exporter

Python-based Signal app backup exporter.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

signal-backup-exporter

signal-backup-exporter is a Python3 script that takes a version 55 or prior Signal backup file and exports the contents to a SQLite DB file as well as all the image, document and attachments.

The script serves as the basis for saving the contents of the backup more accessible to the casual programming community.

As of May 10th, 2020, the script is RAW, somewhat slow for large backups and more of a POC than a product. I am putting it out into the world in-case anyone else is looking to unlock their Signal messages.

Moxie and company put a lot of effort into securing your private information, so, in case this isn't obvious:

WARNING unencrypt the contents of your Signal backup and save on a secure platform.

The script is similar in nature to Alex Smith's (Xeals) Signal-Back Go program but with, hopefully, a easier threshold for folks who want to extract and post-process the backup data.

The script was significantly easier to write due to the efforts of:

Required Components

Python 3.7+
pycryptodome
python-axoltl
protobuf - Installing Python binding

For development

Google's protobuf compiler:

  • brew install protobuf (MacOS)
  • compile: protoc -I=... --python_out=... Backups.proto

Installation

pip install -r requirements.txt

Usage

signal_backup_exporter.py
--backup < Signal backup file >
--passphrase < file with 30 character backup passphrase >
--output < directory where contents are dumped >

Attachments and the SQLite DB signal.db are saved in the output directory.

Future/On-going Improvements

  • Export to XML in a format consumable by Android SMS/MMS backup/restore programs.
  • Generate local web site of message contents/attachments.

License

Licensed under the GPLv3: http://www.gnu.org/licenses/gpl-3.0.html

For Elijah

Copyright (C) 2020 Software.Artisan

About

Python-based Signal app backup exporter.

License:GNU General Public License v3.0


Languages

Language:Python 100.0%