Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Signal database and/or backup extraction #13

Open
pshem opened this issue Apr 14, 2020 · 3 comments
Open

Signal database and/or backup extraction #13

pshem opened this issue Apr 14, 2020 · 3 comments
Labels
help wanted Extra attention is needed

Comments

@pshem
Copy link
Contributor

pshem commented Apr 14, 2020

Signal has been growing as a secure messaging platform, but extracting from it is currently not supported in Andriller. I was wondering is there is any chance for adding support either for Signal Backup or Signal Database extraction?

Their encryption code is public and there are standalone backup extraction utilities such as https://github.com/xeals/signal-back (written in Go) and https://github.com/tbvdm/sigbak (written in C).

@den4uk den4uk added the help wanted Extra attention is needed label Apr 14, 2020
@den4uk
Copy link
Owner

den4uk commented Apr 14, 2020

As much as I agree Signal would be a great app to add to be supported, I have limited time to research into implementing this. If you have a translation of Go / C decoding into Python - it would be of assistance and could implement sooner.

@pshem
Copy link
Contributor Author

pshem commented Apr 15, 2020

I've found a Python implementation of a backup decryptor https://github.com/elkhadiy/debruitage. However, it doesn't contain a method of extracting Signal's backup encryption password, so we'd have to prompt the user for those 30 digits

Edit: and it doesn't seem to work very well. It seems to be trying to wrap the C implementation linked above with Python and it works in some cases but no others. Hoverer, someone has already found a fix so it should be useful.

Edit2: The fix makes the database create the tables correctly, but errors out when trying to fill them with the contents of the backup. However, the code seems to be based on Signal's own encryption implemented with protocol buffers and converted to Python with https://github.com/elkhadiy/debruitage/blob/master/signal_backup_manager/gen_protobackup_module.py, so it might be a useful start

@Aztorius
Copy link

Aztorius commented Nov 6, 2021

I recommend this (tested multiple times) :

I don't know if those can be used into Andriller somehow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants