Skip to content

Scripts for decoding/encoding config.bin for ZTE routers

License

Notifications You must be signed in to change notification settings

ludufre/zte-config-utility

 
 

Repository files navigation

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.

About

Scripts for decoding/encoding config.bin for ZTE routers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 94.7%
  • Shell 5.3%