吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 73887|回复: 495
上一主题 下一主题
收起左侧

[原创] 中兴光猫配置文件db_user_cfg.xml结构分析及解密

    [复制链接]
头像被屏蔽
跳转到指定楼层
楼主
yulinsoft 发表于 2019-8-10 11:00 回帖奖励
本帖最后由 yulinsoft 于 2019-8-14 09:01 编辑

       中兴光猫配置文件db_user_cfg.xml保存着光猫的各项配置,包括超级帐号和密码,它一般位于光猫/userconfig/cfg目录下,前文“中兴光猫ZXHN-F650不拆机获取超级密码”,我们通过光猫文件操作的漏洞获取了配置文件,并通过RouterPassView获取了超级密码,后来就想着分析一下这个文件的结构和算法,自己来写一个解密程序。由于这个文件没有公开的文档可用,所在只能用winhex打开,边看边猜,这也是常规的解密方法,终于功夫不负有心人,经过几天的猜解,终于摸清了文件的结构,写出了解密程序,今天特来跟大家分享了下。


(, 下载次数: 6)

我们先来说文件结构。文件结构分为文件头和数据体两部分,数据体是分块保存的。结构如下图:

(, 下载次数: 4)

首先看文件头,它由60个字节组成,包含文件的大小、解压后大小、数据分块大小和数据校验值等,通过对比F650和F452两个光猫的配置文件,除校验值算法未知,这个结构基本如下:

(, 下载次数: 4)

最新更新:校验值算法已经搞清,校验值共8个字节,前四个字节是对每个zlib数据块进行crc32校验,初始为0,后一块以前一块的校验值为初始值,全部校验完成后写入校验值的前四个字节。然后对文件头前24个字节进行crc32校验,初始值为0,得出的结果保存到校验值的后4个字节。到此这个文件的结构和算法全部搞清楚了,大家可以搞个写回操作了。


(, 下载次数: 5)

需要说明的是,这个文件的数值保存都是采用 Big endian格式保存的,所以编程时要进行字节序的转换才行。我编程用的是delphi,转换字节序的函数如下:

[Delphi] 纯文本查看 复制代码
function Swap32(const Value: LongWord): LongWord;
begin
  Result := Swap(Word(Value)) shl 16 + Swap(Word(Value shr 16));
end;

下面我们来看看最重要的数据块结构,它是有一个简单的数据头和zlib数据块组成,数据头中包含了数据解压后的大小,压缩块的大小和下个数据块的位置,所以我们只要找到第一个数据块的位置,就可以循环找到下一个,直到最后一个,根据数据块提供的信息进行解压合并就行了。数据块的结构如下:
(, 下载次数: 4)


通过图片的分析,相信大家都能写出解密程序,我先贴出我的解密算法,代码可能比较烂,但确实能用,大家不要喷便是:
[Delphi] 纯文本查看 复制代码
function UnZipCofing(Fname: string): string;
var
  ds: TDecompressionStream;
  ms, fs, tmpfs: TMemoryStream;
  ss: TStringStream;
  bufferSize, blockSize, nextOff: LongWord;
begin
  fs := TMemoryStream.Create;
  tmpfs := TMemoryStream.Create;
  ms := TMemoryStream.Create;
  ss := TStringStream.Create('');
  if not FileExists(Fname) then
  begin
    ShowMessage('文件不存在!');
    exit;
  end;
  try
    fs.LoadFromFile(Fname);
    nextOff := 60;
    while nextOff > 0 do
    begin
      fs.Seek(nextOff, soFromBeginning);
  //读取缓冲区大小
      fs.Read(bufferSize, SizeOf(bufferSize));
      bufferSize := Swap32(bufferSize);
  //读取压缩块大小
      fs.Read(blockSize, SizeOf(blockSize));
      blockSize := Swap32(blockSize);
  //读取下一块位置
      fs.Read(nextOff, SizeOf(nextOff));
      nextOff := Swap32(nextOff);
      //复制压缩数据块到临时数据流
      tmpfs.Clear;
      tmpfs.CopyFrom(fs, blockSize);
      tmpfs.Position := 0;
      //解压数据块
      ds := TDecompressionStream.Create(tmpfs);
      ms.SetSize(bufferSize);
      ZeroMemory(ms.Memory, bufferSize);
      ms.Position := 0;
      ds.Read(ms.Memory^, bufferSize);
      //将解压后的数据流复制到字符串数据流
      ss.CopyFrom(ms, 0);
      ds.Free;
    end;{end while}
    //输出合并后的字符串流。
    Result := ss.DataString;
  finally
    //垃圾回收
    fs.Free;
    tmpfs.Free;
    ms.Free;
    ss.Free;
  end;
end;

写文不易,分析和制图都花费了不少时间,写代码更是耗时,因为毕竟不是专业程序员。所以写得不好大家不要喷,有不对之处请大家批评指正,写的程序如下,程序源码和编译后的程序及db_user_cfg.xml我会在附件中提供:
(, 下载次数: 3)


我写的一个小工具中兴光猫超密获取工具也是用的这个算法。本文吾爱破解首发,转载请注明出处,程序编译再发布请保留作者信息。

(, 下载次数: 5847)



免费评分

参与人数 122吾爱币 +119 热心值 +111 收起 理由
kxkxy5505 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
haha229 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
shaniaocc + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
cw224 + 1 谢谢@Thanks!
scdyz + 2 + 1 谢谢@Thanks!
luanshils + 3 + 1 热心回复!
天使的微笑07 + 1 + 1 我很赞同!谢谢大佬!
mengqiantang + 1 + 1 我很赞同!y依然好用
gdzstao + 1 + 1 我很赞同!
LJAY + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
rhmagicli + 1 + 1 我很赞同!
哎黑细作 + 1 + 1 谢谢@Thanks!
yinfeng04 + 1 + 1 谢谢@Thanks!
Rothes丶 + 1 感谢发布原创作品,但是V2.0.3P1T2不支持
tanshude + 1 谢谢@Thanks!
Manzen + 1 + 1 用心讨论,共获提升!
m-10306 + 1 + 1 谢谢@Thanks!
缘分你注定 + 1 + 1 我已回帖需要帮助~
fafey80 + 1 + 1 用心讨论,共获提升!
jinghan + 1 + 1 感谢您的宝贵建议,我们会努力争取做得更好!
孽小帅才 + 2 + 1 有没有直接获取宽带账号密码的
490619291 + 1 我很赞同!
yangou168OK + 1 + 1 谢谢@Thanks!
月六点年一倍 + 1 鼓励转贴优秀软件安全工具和文档!
mzone990 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
wuwutian + 1 + 1 热心回复!
qbaby + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
wokl168 + 1 + 1 谢谢@Thanks!
iNIC + 1 + 1 谢谢@Thanks!
zhgang908 + 1 + 1 喜欢你这股捣鼓的精神,必须加分
yelving + 1 我很赞同!
yjn866y + 1 + 1 我很赞同!
MNXYPRO + 1 + 1 谢谢@Thanks!
鸽吻与鸽舞 + 1 + 1 我很赞同!
poo4563 + 1 + 1 用心讨论,共获提升!
gongyong728125 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
cashover + 1 + 1 鼓励转贴优秀软件安全工具和文档!
SanadaYukimura + 1 + 1 谢谢@Thanks!
小小de账号 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
decker + 1 + 1 用心讨论,共获提升!
maobaozhi + 1 + 1 谢谢@Thanks!
大毛孩 + 1 + 1 厉害
gemingyu + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
ahaolee + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
tianzhongyushui + 1 用心讨论,共获提升!
N0LL + 1 + 1 谢谢@Thanks!
yukeju + 1 + 1 鼓励转贴优秀软件安全工具和文档!
youhen233 + 1 + 1 谢谢@Thanks!
zqguang3708 + 1 硬核啊
zswseu + 1 + 1 我很赞同!
q74330 + 1 谢谢@Thanks!
qj1225 + 1 + 1 谢谢@Thanks!
lcebear + 1 + 1 用心讨论,共获提升!
清炒藕片丶 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
指导员 + 1 我很赞同!
觇望 + 1 谢谢@Thanks!
ygwh + 1 + 1 谢谢@Thanks!
shyocean + 1 用心讨论,共获提升!
13299230064 + 1 谢谢@Thanks!
你正在输入 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
poisonbcat + 1 + 1 谢谢@Thanks!
不谙世事的骚年 + 1 + 1 我很赞同!
SD84617942 + 1 + 1 用心讨论,共获提升!
荆城六 + 1 鼓励转贴优秀软件安全工具和文档!
xuzhouwangchen + 1 + 1 热心回复!
atgused + 1 谢谢@Thanks!
hwolf1 + 1 + 1 大佬大佬
好人卡 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
pxcyp + 1 + 1 热心回复!
solly + 1 + 1 用心讨论,共获提升!
mdf3192078 + 1 + 1 用心讨论,共获提升!
MythSky + 1 + 1 我很赞同!
wudi2019 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
tomcath + 1 + 1 用心讨论,共获提升!
yjdh3344 + 1 我很赞同!
fei4chan + 1 + 1 我很赞同!
admsir + 1 + 1 用心讨论,共获提升!
Holdmyhand + 1 + 1 我很赞同!
wangsmile + 1 + 1 我很赞同!
22222 + 1 + 1 我很赞同!
jokin1999 + 1 + 1 谢谢@Thanks!
waltzofjack + 2 + 1 热心回复!
whc2001 + 2 + 1 想起之前研究某个没加密的游戏资源包,也是各种猜结构
mengsiyiren + 1 + 1 用心讨论,共获提升!
911061873 + 1 + 1 谢谢@Thanks!
123-wqy + 1 + 1 用心讨论,共获提升!
shinsbo + 1 + 1 谢谢@Thanks!
Mr程英俊 + 1 + 1 我很赞同!
cactusliu + 1 热心回复!
Lugia + 1 + 1 谢谢@Thanks!
JuncoJet + 3 + 1 所以?并不是AES咯?楼主666
djinni + 1 + 1 用心讨论,共获提升!
3xec3r + 1 + 1 热心回复!
dioderen + 1 + 1 谢谢@Thanks!
wc345ly + 1 + 1 我很赞同!
wapj2900958 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
smile1110 + 3 + 1 谢谢@Thanks!
蚯蚓翔龙 + 1 + 1 用心讨论,共获提升!
Arinikro + 1 + 1 谢谢@Thanks!
zzzain46 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
推荐
 楼主| yulinsoft 发表于 2019-8-11 17:19 |楼主
A_Nuo 发表于 2019-8-11 17:02
这个年代怎么还有人用delphi?楼主为什么不使用更先进的语言?

语言只是工具,只要脑子里有算法,用什么语言只是语法和类库的不同。

免费评分

参与人数 8吾爱币 +9 热心值 +6 收起 理由
wxc0241 + 1 我很赞同!
joyfirex + 1 + 1 谢谢@Thanks!
itow + 1 + 1 我很赞同!
爱飞的猫 + 3 + 1 我很赞同!
luosir001 + 1 我很赞同!
Avenshy + 1 + 1 我很赞同!
小表弟 + 1 的确,兄台这句话说的不错
JuncoJet + 1 + 1 我很赞同!

查看全部评分

推荐
Delta_18 发表于 2020-12-8 15:51
本帖最后由 Delta_18 于 2021-1-25 03:40 编辑
zisain 发表于 2020-11-27 15:05
大神后期会更新解密工具吗???

[软件副本已停止下载]

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
Cappella + 1 + 1 谢谢@Thanks!

查看全部评分

推荐
Delta_18 发表于 2021-2-14 19:10
iwy0 发表于 2021-2-11 01:42
天邑768G的CFG文档可以用ROUTERPASSVIEW直接读取出来,但是这个ROUTERPASSVIEW只有WIN和MAC版,没有安卓版 ...

如果有这样的需求,倒不如自己买个好点的光猫换上。
推荐
A_Nuo 发表于 2019-8-11 17:02
这个年代怎么还有人用delphi?楼主为什么不使用更先进的语言?
推荐
ishine 发表于 2019-8-10 14:05
yulinsoft 发表于 2019-8-10 12:21
不是同一文件,在我的设备上,这个文件是明文的。配置文件压缩后至少30k左右。

F450 3.0 的配置   db_user_cfg.xml和db_default_cfg.xml加密方式一样

都解不开
推荐
雷帝彬 发表于 2020-2-25 12:57
ssnode 发表于 2020-2-23 18:17
解压密码:52pojie   解密不了 求帮助谢谢
设备类型GPON天翼网关(4口单频)
产品型号ZXHN F650(GPON ONU) ...

这个版本 配置文件你怎么拿到的?
推荐
caoxin 发表于 2019-9-6 19:35
yulinsoft 发表于 2019-8-11 17:19
语言只是工具,只要脑子里有算法,用什么语言只是语法和类库的不同。

pj是一门技术,也是艺术
推荐
jxf269 发表于 2019-8-10 19:46
一只大菜猫 发表于 2019-8-10 11:43
iptv弄不成无线的,第一不稳定,第二协议也不支持,电信的试过了,不行的

可以弄的,ssid端口绑定2.4G-2,然后无线设置那里ssid选择2.4G-2,勾选下面的使能框,然后盒子那边就可以发现IPTV的WIFI信号了,然后输入WIFI密码,IP地址那边选择dhcp下面选择md5+3ds认证(不知道有没有写错,我忘了),然后再输入你家IPTV的帐号密码。连上就可以用了。
以前我家的光猫不带wifi,我把itv的网线直接插路由器的lan口,光猫的1号口插路由器的的WLAN口,路由器根本就不用配置,直接就可以正常上网和看IPTV。电脑想看IPTV得手动配置IP,电脑上我不会搞那个md5+3ds的东西,所以在IPTV盒子里做了转发,最主要还是穷,没路由器是低端的。
3#
山上石 发表于 2019-8-10 11:12
这个光猫有没有办法让有线电视变无线的?联通赠送的IPTV,竟然是要连网线的。。。但是不是宽带的网络,是IPTV的线路。难道没有无线的方案吗?
头像被屏蔽
4#
 楼主| yulinsoft 发表于 2019-8-10 11:16 |楼主
本帖最后由 yulinsoft 于 2019-8-10 11:19 编辑
山上石 发表于 2019-8-10 11:12
这个光猫有没有办法让有线电视变无线的?联通赠送的IPTV,竟然是要连网线的。。。但是不是宽带的网络,是IP ...

可以把光猫的wifi绑定到IPTV线路,然后盒子用wifi连接就行了,仅限于IPtv是DHCP协议的。你可以试试。
5#
山上石 发表于 2019-8-10 11:35
yulinsoft 发表于 2019-8-10 11:16
可以把光猫的wifi绑定到IPTV线路,然后盒子用wifi连接就行了,仅限于IPtv是DHCP协议的。你可以试试。

我也是这个想法。不知道解密超级密码后,能不能开启这个功能。
6#
一只大菜猫 发表于 2019-8-10 11:43
iptv弄不成无线的,第一不稳定,第二协议也不支持,电信的试过了,不行的
7#
ishine 发表于 2019-8-10 12:07
本帖最后由 ishine 于 2019-8-10 12:10 编辑

F450 3.0 的配置文件还是解不开

db_default_cfg.zip (7.38 KB, 下载次数: 80)



免费评分

参与人数 2吾爱币 +1 热心值 +2 收起 理由
异灵摆渡 + 1 + 1 怎么把文件复制出来??
JuncoJet + 1 本来就解不开啊……

查看全部评分

头像被屏蔽
8#
 楼主| yulinsoft 发表于 2019-8-10 12:21 |楼主
本帖最后由 yulinsoft 于 2019-8-10 12:26 编辑
ishine 发表于 2019-8-10 12:07
F450 3.0 的配置文件还是解不开

不是同一文件,在我的设备上,这个文件是明文的。配置文件压缩后至少30k左右。
9#
plmxs2017 发表于 2019-8-10 13:11
哪位大佬给演示一下电信的HS8145C的光猫提取管理员啊?
10#
cfanpc 发表于 2019-8-10 13:15
一只大菜猫 发表于 2019-8-10 11:43
iptv弄不成无线的,第一不稳定,第二协议也不支持,电信的试过了,不行的

电信的可以,但是盒子和WIFI距离不要太远了,不然会卡顿
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-24 12:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表