获取中兴光猫 F652 超级密码
首先连接上你家光猫的网络,如图所示。
然后访问以下链接 http://192.168.1.1/common_page/File_Download_lua.lua?downtype=0&IF_FILEPATH=/userconfig/cfg/db_user_cfg.xml&IF_FILENAMEUTF8=db_user_cfg.xml&,浏览器会自动下载来一个 .xml
文件。
但这个文件是经过加密的,我们不能直接打开。需要进行解密。
在 .xml
文件的同目录下,新建一个 Python
文件,文件名任意。以下是代码内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import zlib
import struct
import os
def unzip_config(fname: str) -> str:
if not os.path.exists(fname):
print('文件不存在!')
return ''
with open(fname, 'rb') as f:
next_off = 60
result = bytearray()
while next_off > 0:
f.seek(next_off)
# 读取缓冲区大小
buffer_size = struct.unpack('>I', f.read(4))[0]
# 读取压缩块大小
block_size = struct.unpack('>I', f.read(4))[0]
# 读取下一块位置
next_off = struct.unpack('>I', f.read(4))[0]
# 复制压缩数据块到临时数据流
compressed_data = f.read(block_size)
# 解压数据块
decompressed_data = zlib.decompress(compressed_data)
# 将解压后的数据添加到结果
result.extend(decompressed_data)
return result.decode('utf-8')
def write_output(data: str, output_fname: str):
with open(output_fname, 'w', encoding='utf-8') as f:
f.write(data)
# 使用示例
result = unzip_config('db_user_cfg.xml')
if result:
write_output(result, 'output.xml')
print('结果已写入 output.xml')
感谢 52pojie 大佬 yulinsoft 提供的源
Delphi
代码,这里转成了Python
罢了。原文详见:https://www.52pojie.cn/thread-1005978-1-1.html
在当前目录的终端中,输入命令:
1
python3 encrypt.py # 这里改成你的文件名
程序完成后,会显示:结果已写入 output.xml
。此时打开 output.xml
,就是解密后的文件。用记事本等程序打开,直接搜索 telecomadmin
,就能找到相应的超级密码了。
登录进去即可。
本文由作者按照
CC BY 4.0
进行授权