Mon, 01 Aug 2022 11:29:27 +0100
Initial commit
0 | 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. |