README.md

Mon, 01 Aug 2022 11:29:27 +0100

author
Matthew Wild <mwild1@gmail.com>
date
Mon, 01 Aug 2022 11:29:27 +0100
changeset 0
ed346ec34e2a
permissions
-rw-r--r--

Initial commit

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.

mercurial