获取中兴光猫 F652 超级密码

358 字
2 分钟
获取中兴光猫 F652 超级密码

首先连接上你家光猫的网络,如图所示。

2024-07-25 13.55.23.png
2024-07-25 13.55.23.png

然后访问以下链接 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 文件。

2024-07-25 13.57.10.png
2024-07-25 13.57.10.png

但这个文件是经过加密的,我们不能直接打开。需要进行解密。

.xml 文件的同目录下,新建一个 Python 文件,文件名任意。以下是代码内容:

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

在当前目录的终端中,输入命令:

Terminal window
python3 encrypt.py # 这里改成你的文件名

程序完成后,会显示:结果已写入 output.xml 。此时打开 output.xml ,就是解密后的文件。用记事本等程序打开,直接搜索 telecomadmin ,就能找到相应的超级密码了。

2024-07-25 13.59.30.png
2024-07-25 13.59.30.png

登录进去即可。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
获取中兴光猫 F652 超级密码
https://www.0x3f.foo/posts/telecomadmin/
作者
Dignite
发布于
2024-07-25
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
Dignite
When nothing goes right, go left.
公告
欢迎来到我的博客!这是一则示例公告。
分类
标签
站点统计
文章
146
分类
5
标签
271
总字数
314,753
运行时长
0
最后活动
0 天前

目录