Skip to content

Latest commit

 

History

History
44 lines (29 loc) · 1.38 KB

README.md

File metadata and controls

44 lines (29 loc) · 1.38 KB

zte config utility

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.

Quickstart

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.

Examples

Decode/Encode a ZTE F660 config.bin

$ 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

Grab 'signature' from a config.bin

$ python3 examples/signature.py resources/config.bin
F680

Limitations

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.

Requirements

The AES encryption relies on pycryptodomex.