diff -r 000000000000 -r ed346ec34e2a README.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.md Mon Aug 01 11:29:27 2022 +0100 @@ -0,0 +1,40 @@ +This utility strips NUL bytes from Conversations backup (.ceb) files. For +unknown reasons, backups from certain Android versions/devices seem to end up +with these erroneous bytes, and then fail to import in the app. + +## Usage + +### Run via docker + +This option works on any system where docker is installed, and does not require +anything else to be installed on the host system. + +``` +docker run --rm -v "$PWD:/data" mwild1/fix-ceb-nulls BACKUP_FILE_NAME BACKUP_FILE_PASSWORD +``` + +The *BACKUP_FILE_NAME* should be in the current directory where you run the +command. The result will also be written to the current directory, with the +suffix `-fixed.ceb`. + +### Run manually + +The script has a few dependencies, but they shouldn't be too hard to install +on most systems. + +Dependencies: + +- Lua 5.3 +- lua-zlib (luarocks: lua-zlib, Debian/Ubuntu: lua-zlib) +- luaossl 2022 (luarocks: luaossl, Debian/Ubuntu: lua-luaossl (⚠️ at the time of + writing this, Debian/Ubuntu do not have the latest version available, + install via luarocks instead)) + +Run: + +``` +lua5.3 fix-ceb-nulls.lua BACKUP_FILE_NAME BACKUP_FILE_PASSWORD +``` + +The result will be written to a new file in the same location as the original +file, but with a `-fixed.ceb` suffix.