-
Notifications
You must be signed in to change notification settings - Fork 0
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
Recovering #1
Comments
I'm running into the same bug as @doctormo : Traceback (most recent call last):
File "/home/pshem/z/source/debruitage/debruitage/bin/signal-bkp-decrypt", line 11, in <module>
load_entry_point('signal-backup-manager', 'console_scripts', 'signal-bkp-decrypt')()
File "/home/pshem/z/source/debruitage/signal_backup_manager/cli.py", line 23, in run
bkp = SignalBackup(args.backup_file, args.passphrase)
File "/home/pshem/z/source/debruitage/signal_backup_manager/signal_backup.py", line 56, in __init__
self.__handle_statement(frame.statement)
File "/home/pshem/z/source/debruitage/signal_backup_manager/signal_backup.py", line 193, in __handle_statement
self.db_cursor.execute(statement.statement, params)
sqlite3.OperationalError: object name reserved for internal use: sqlite_sequence Would you mind saying how you fixed it, @doctormo? Trying to catch the exception with try:
self.db_cursor.execute(statement.statement, params)
except sqlite3.OperationalError:
pass Gave me an Traceback (most recent call last):
File "/home/pshem/z/source/debruitage/debruitage/bin/signal-bkp-decrypt", line 11, in <module>
load_entry_point('signal-backup-manager', 'console_scripts', 'signal-bkp-decrypt')()
File "/home/pshem/z/source/debruitage/signal_backup_manager/cli.py", line 23, in run
bkp = SignalBackup(args.backup_file, args.passphrase)
File "/home/pshem/z/source/debruitage/signal_backup_manager/signal_backup.py", line 56, in __init__
self.__handle_statement(frame.statement)
File "/home/pshem/z/source/debruitage/signal_backup_manager/signal_backup.py", line 193, in __handle_statement
self.db_cursor.execute(statement.statement, params)
sqlite3.IntegrityError: UNIQUE constraint failed: recipient.group_id |
|
Thanks, I applied your patch but the effects are the same as my try except, so the |
Yup nice catch, seems like they forgot to drop some tables in the 'new' (been a while since I looked into signal) backup code signalapp/Signal-Android@128da6d If you send a PR this way with your patch I can merge it if you want.
I am by no means an expert on the subject but yeah that was the idea I had when I wrote this tool. Wanted to make a bridging tool to export conversation history from messenger to signal. Last time I worked on it (a while back), I think I was able to create new threads and new messages (should be in the notebooks). And I'm pretty sure it's feasible to re-encrypt the backup with the same passphrase.
Maybe try with |
@elkhadiy I tried that and it catches the same single statement as I got the full database out with https://github.com/tbvdm/sigbak/tree/portable |
@pshem Good to hear! Unfortunately I can't have a crack at it right now but thanks for the input. Some other good tools out there (from my history): |
I have a backup which suffers from the Bad MAC issue. This tool can decrypt it and stores all the various bits of information.
I did have to fix one thing.
__handle_statement
was trying to create a table calledsqlite_sequence
so I special excepted it out. Apparently in my version of sqlite (Ubuntu 18.04) it's a special value.What I need now is the ability to repack the information I have to reconstruct a clean backup. This looks like it should be possible to do, but I'd like to hear your expertise on if you think this is even possible.
The text was updated successfully, but these errors were encountered: