Extracts chat messages from signal
- WIN+R and paste
cp %HOMEPATH%\AppData\Roaming\Signal\sql\db.sqlite %HOMEPATH%\AppData\Roaming\Signal\sql\db_unencrypted.sqlite
- Download DB Browser for SQLite
- Choose zip (64-bit or 32-bit, whatever runs on your machine)
- unzip it
- go in and run DB Browser for SQLCipher
- File -> Open Database -> Paste this in the bar and select
db_unencrypted.sqlite
:%HOMEPATH%\AppData\Roaming\Signal\sql
. Another window will open, don't close it. - WIN+R and paste
notepad.exe %HOMEPATH%\AppData\Roaming\Signal\config.json
, copy (CTRL+C) the key but leave out the " - back to DB browser: change passphrase to raw, enter
0x
in the bar, then paste (CTRL+V) the key you just copied, press Ok - Tools -> Set Encryption -> leave all blank and select Ok, you can now quit the DB Browser
- open a terminal where extract.py is
python extract.py
It will automatically extract all your messages into a moderately nicely formatted text file. You can find your files in
%HOMEPATH%\[date]-Signal_Backup
- Copy the database, we don't work on the live database
- open the database with the config file
- decrypt the database
- run the script
The script only uses plain python, as sqlite is already included.
If you want to have a new backup, you can run the steps again, everytime you use signal, the database is updated so we need to copy it again, decrypt it, then run the script.