#!/usr/bin/env python
import
zlib
#scripte originated from http://reverseengineering.stackexchange.com/questions/3593/re-compressed-backup-file-router-linux-based-so-is-it-compresed-with-zlib
print
"################################################"
print
"# THe W0lf is so close #"
print
"# ZTE 931Vii Router configuration unpacker #"
print
"# Find configuration file @ #"
print
"# http://192.168.1.1/manager_dev_config_t.gch #"
print
"# L0ukanik0s 2014 Hack-Hosting #"
print
"#l0ukanik0s@hotmail.com #"
print
"################################################"
print
"Enter your config.bin path: e.g root@l0ukanik0s:~#/Desktop/931router_config.bin"
configfile
=
raw_input
(
"File Path :"
).strip()
magic_numbers
=
[
'\x78\xDA'
]
filename
=
configfile
infile
=
open
(filename,
'r'
)
data
=
infile.read()
pos
=
0
found
=
False
while
pos <
len
(data):
window
=
data[pos:pos
+
2
]
for
marker
in
magic_numbers:
if
window
=
=
marker:
found
=
True
start
=
pos
print
"Start of zlib %s"
%
pos
rest_of_data
=
data[start:]
decomp_obj
=
zlib.decompressobj()
uncompressed_msg
=
decomp_obj.decompress(rest_of_data)
print
"Configuration of ZTE 931 File Content: %s"
%
uncompressed_msg
break
if
pos
=
=
len
(data):
break
pos
+
=
1
if
found:
header
=
data[:start]
footer
=
decomp_obj.unused_data
if
not
found:
print
"Sorry, no zlib found."