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:
- Helder Eijs (Legrandin) PyCryptodome
- Tarak (tgalal) Python-Axolotl (Python port of libsignal)
Python 3.7+
pycryptodome
python-axoltl
protobuf - Installing Python binding
Google's protobuf compiler:
- brew install protobuf (MacOS)
- compile: protoc -I=... --python_out=... Backups.proto
pip install -r requirements.txt
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.
- Export to XML in a format consumable by Android SMS/MMS backup/restore programs.
- Generate local web site of message contents/attachments.
Licensed under the GPLv3: http://www.gnu.org/licenses/gpl-3.0.html
For Elijah
Copyright (C) 2020 Software.Artisan