7

I have a question on the Signal app.

Two family members have an extensive chat history. One of them accidentally deleted the data. The backup function was not active. However, the other side still has all the data. Both are using Android smartphones.

How to transfer the data? Re-sending works only five messages at a time, which is not practical with some thousand messages.

Is it possible to export the data from one smartphone e.g. via USB to a PC, then import that via USB on the other?

Comments
  • 5
    Maybe ask on signal github page?
    It should be possible to create a local backup, and restore to another phone from there - but I'm pretty sure the chat logs will be messed up.
    Fair warning - I Never tried it.
  • 3
    If you have root access, you should be able to get the database from the app data folder. If not, you should be able to decrypt the backup. Then you probably want to flip the sender and receiver of the conversation, encrypt it the same way as the app does, and place it in the backups folder. Then, reinstall the app to restore the backup.

    No clue if there's an easy way. Good luck figuring the stuff out. You know how much easier it would've been to have a proper backup solution. Don't you even have any backups of the whole system?

    @prodigy214 ew
  • 1
    @prodigy214 signal and WhatsApp don't store messages on a server except for the transmission.
  • 1
    @electrineer Are you certain about the latter ?
  • 1
    @-red at least from the perspective that you lose your messages if you don't have a backup and didn't use the third party backup location in the app
  • 2
    @electrineer Hmm. Alright.

    Also, I don’t think a user should ever have access to decrypted chat data. Either that or the app should have methods to check if backups have been tampered with. We can’t have users rewriting chat history.
    Or if this was allowed, Signal messages cannot be used to incriminate anyone.
  • 2
    @-red WhatsApp seems to have its local databases as plain sqlite. Signal seems to have everything encrypted.
  • 2
    @magicMirror @electrineer Yeah sender / receiver will be the other way around and would need to be swapped, so I think there isn't an easy way. Just importing the data won't work even if is should be accessible.

    Btw., the backup function wasn't active because that person hadn't learnt yet about the importance of backups, and I only administrate the PCs (including backups), not the smartphones.
  • 2
    @-red @electrineer
    Speaking from first hand knowledge here:
    Both signal and whatsapp use the digitalwhisper protocol, the idea is to ratchet the encryption key, so each message is encrypted by the sender, and can only be decrypted by the reciver, key is used only once. the only info the server knows is who sent the message, who recived, and that it was recived - and that data is claimed not to be stored. Both allow encrypted backups to cloud services. WA keeps the data in plain sqlite, and signal uses sqlcipher (encrypted sqlite). lose the local database - no way to restore from server.
  • 1
    @magicMirror do you know if it's possible for the user to decrypt, modify, and reencrypt signal's local message database (or the backup)? Who owns the encryption key?
  • 1
    @electrineer Signal has the "backup" function where it exports things locally into an encrypted backup, and it tells you the generated key when doing so.
  • 1
    @electrineer very possible, and should be easy.
    The Android key is stored in the sharedprefs. There should be a blog post that explians how to decrypt the signal db somewhere
Add Comment