Extracting/converting old chats from Signal/ICQ/google

Last Updated or created 2023-01-02

ICQ

For ICQ i only could find one that worked for me.
Search for the below file on the internet

IcqHR 1.8f (http://soft.softoogle.com/ap/icqhr-get-4581.shtml)

This will convert XXXXXmsg.dat to a html file.

SIGNAL

I’ve got signal on my linux workstation, so my encryption key lives in
~/.config/Signal/config.json

Install sqlcipher from (https://github.com/sqlcipher/sqlcipher)

And use below script (change paths/keys accordingly)

#!/bin/bash
#set -x
# Get your key from
#cat ~/.config/Signal/config.json
SIGNAL_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

/Projects/sqlcipher/sqlcipher -list -noheader /home/${USER}/.config/Signal/sql/db.sqlite "PRAGMA key = \"x'"${SIGNAL_KEY}"'\";select json from messages;" > /tmp/clear_text_msgs;
cd /tmp 
tail -n +2 clear_text_msgs > without_ok
sed '$!s/$/,/' without_ok > with_commas
sed '1 s/^/[\n/' with_commas > with_leading_bracket
echo "]" >> with_leading_bracket
rm without_ok
rm with_commas
mv with_leading_bracket valid.json
cp valid.json /home/%{USER}/signal.$(date +%Y%m%d)
cd -

Google Chat/Talk/Hangouts

Just search for google takeout!

After that convert Hangouts.json to text using
https://github.com/baldybeardedguy/hangouts-json-parser/blob/master/Hangouts_json.py