|
1 This utility strips NUL bytes from Conversations backup (.ceb) files. For |
|
2 unknown reasons, backups from certain Android versions/devices seem to end up |
|
3 with these erroneous bytes, and then fail to import in the app. |
|
4 |
|
5 ## Usage |
|
6 |
|
7 ### Run via docker |
|
8 |
|
9 This option works on any system where docker is installed, and does not require |
|
10 anything else to be installed on the host system. |
|
11 |
|
12 ``` |
|
13 docker run --rm -v "$PWD:/data" mwild1/fix-ceb-nulls BACKUP_FILE_NAME BACKUP_FILE_PASSWORD |
|
14 ``` |
|
15 |
|
16 The *BACKUP_FILE_NAME* should be in the current directory where you run the |
|
17 command. The result will also be written to the current directory, with the |
|
18 suffix `-fixed.ceb`. |
|
19 |
|
20 ### Run manually |
|
21 |
|
22 The script has a few dependencies, but they shouldn't be too hard to install |
|
23 on most systems. |
|
24 |
|
25 Dependencies: |
|
26 |
|
27 - Lua 5.3 |
|
28 - lua-zlib (luarocks: lua-zlib, Debian/Ubuntu: lua-zlib) |
|
29 - luaossl 2022 (luarocks: luaossl, Debian/Ubuntu: lua-luaossl (⚠️ at the time of |
|
30 writing this, Debian/Ubuntu do not have the latest version available, |
|
31 install via luarocks instead)) |
|
32 |
|
33 Run: |
|
34 |
|
35 ``` |
|
36 lua5.3 fix-ceb-nulls.lua BACKUP_FILE_NAME BACKUP_FILE_PASSWORD |
|
37 ``` |
|
38 |
|
39 The result will be written to a new file in the same location as the original |
|
40 file, but with a `-fixed.ceb` suffix. |