The core of the decoding work is taken from a pastebin dump by 'Felis-Sapien'.
Creates byte-perfect binaries for the limited number of config.bin
that have been tested.
Clone the repo and run python3 setup.py install --user
to install the zcu
module.
You can then use the scripts in the resources directory.
NOTE: This project has only been tested against Python 3.5 and higher.
$ python3 examples/decode.py resources/config.bin resources/config.xml --key 'xxxxxxxxxxxx'
$ python3 examples/encode.py resources/config.xml resources/config.NEW.bin --key 'xxxxxxxxxxxx' --signature 'F680' --include-header
$ md5sum resources/config.bin resources/config.NEW.bin
b6408a2ab9bd8827eb717e9ad6aeb2dd resources/config.bin
b6408a2ab9bd8827eb717e9ad6aeb2dd resources/config.NEW.bin
$ python3 examples/signature.py resources/config.bin
F680
The decoder has only been tested against config.bin
files generated by the following routers:
F660
F680
F6600P
It makes a number of assumptions due to this. The encoder has not been tested in the wild. Use at your own risk.
The AES encryption relies on pycryptodomex.