Skip to content

Unable to read backup #272

Closed
Closed
@Zahrun

Description

Hi there,

I have accumulated 7 backup files along the years.
With your tool, I am able to decode 6 of them.
Thank you for that !

There is one of them "signal-2019-08-27-14-01-30.backup" which I can’t decode.
My previous backup is in v21 and the following one is in v34, so this particular one should be in any version between these two.

If I use a wrong key, it fails pretty straightforwardly.
I am not sure if it is the right key, but with the key of the previous backup, your tool is trying to do things and finds some things but eventually fails.

The log starts with

*** Starting log: 2025-01-18 12:42:41 ***
signalbackup-tools (signalbackup-tools) source version 20241220.161546 (SQlite: 3.47.0, OpenSSL: OpenSSL 3.3.2 3 Sep 2024)
Please provide passphrase for input file '**/signal-2019-08-27-14-01-30.backup': ***** ***** ***** ***** ***** *****

BACKUPFILE VERSION: 0
BACKUPFILE SIZE: 294991642
COUNTER: 2594777134

Reading backup file: 000.0%...
Reading backup file: 000.0%...


[Warning]: Bad MAC in frame: theirMac: (hex:) ** ** ** ** ** ** ** ** ** **
                              ourMac: (hex:) ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
[Error]: Failed to get valid frame from decoded data...
         Encrypted data had failed verification (Bad MAC)
Starting bruteforcing offset to next valid frame... starting after: 32642

Checking offset 10 bytes
Checking offset 20 bytes
Checking offset 30 bytes
Checking offset 40 bytes
Checking offset 50 bytes
Checking offset 60 bytes
Checking offset 70 bytes
Checking offset 80 bytes
Checking offset 90 bytes
Checking offset 100 bytes
Checking offset 110 bytes
Checking offset 120 bytes
Checking offset 130 bytes
Checking offset 140 bytes
Checking offset 150 bytes
Checking offset 160 bytes
Checking offset 170 bytes
Checking offset 180 bytes

GOT GOOD MAC AT OFFSET 184 BYTES!
Now let's try and find out how many frames we skipped to get here....

And finally ends with

Checking if we skipped 96153 frames... nope! :(
Checking if we skipped 96153 frames... 
Checking if we skipped 96154 frames... YEAH! :)
Good frame: 3666602 (StickerFrame)
Frame number: 3666602
        Size: 11
        Type: STICKER
         - length          : 1743079412 (8 bytes)
         - row id          : 18446744073709551615 (8 bytes)
Got frame, breaking

Reading backup file: 615.9%...
[Error]: Failed to read 4 bytes from file to get next frame size... (-1 / 294991642)
[Error]: Unexpectedly hit end of file!
[Warning]: EndFrame was not read: backup is probably incomplete
Database version: 1844960005

The entire log file is 1.9 GiB so I tried to extract some of the relevant information.
Is my backup corrupt? Or is the key wrong? Or is it an issue with the tool?
Thank you again

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions