|
本帖最后由 yxleimeng 于 2024-4-3 08:32 编辑 , R7 n& W% q; v. ]. z
! g% v- {# g4 {1 d6 c破解思路:
5 V( p- x! n# [- |' c5 k将NAND中的config分区复制到app分区的末尾,然后擦除config分区,这样重新启动系统之后,密码就恢复成了固件默认的aDm8H%MdA。9 b, F) s* V; q, ~
用此密码登录系统后,将app分区备份到U盘,然后将之前复制到app分区中的config数据拷贝出来,这样就得到了config分区的数据。+ T& O( Q3 ?* W% g
然后用默认密码进入系统中将config分区恢复,同时将lastgood.xml配置文件拷出来并解码,最终得到密码。+ S6 a: N- ~3 ?* i4 k8 g$ h, ^; Z
* ]2 Z" x' O# J9 p4 u, z5 A
这种方法适用于当前的绝大多数光猫。对于有编程器的人来说不是啥事,但是对于没有编程器的人来说,这种方法就显得尤为重要。一旦出现这种破解方法,今后厂商可能会更多的将uboot锁起来。
4 g+ g( [9 R A9 Z' Y% @3 x8 C8 C) B+ |5 K5 z4 j6 w
) W; d& R4 K* v4 U一、获取config分区的数据:8 x+ n# {9 U* u3 i
- 清除RAM
6 a, I7 f8 F/ G# Z - mw.b 0x84000000 0x00 0xB000000 t& C; T6 v3 A! f2 t
- ) D" Z9 G: B# ^4 q ^$ H Z
- 将config分区的数据读入RAM
8 x/ p3 F0 W# d# }& {3 D4 q: b - spi_nand read 0x84000000 0x100000 0xB000009 a \- U, h* P D
- ! ~0 y! ]' q0 y, O+ E( n
- 擦除NAND末尾未使用的区域4 i ?' \$ O7 l# Y
- spi_nand erase 0xF000000 0xB00000
6 z2 ^. I3 W+ f* U - 9 s. ~, i4 u( f/ a! K
- 将RAM中的config写入NAND末尾的区域
7 K& B/ b% S6 K. x2 v5 h6 b - spi_nand write 0x84000000 0xF000000 0xB00000
) h- D( A8 a1 N* {1 @9 A# H# H - + s0 f' i5 o; ?( U1 p! Y3 V. T
- 将config分区的数据擦除:) i1 }, x# s8 d3 U
- spi_nand erase 0x100000 0xB00000
复制代码
; E* b4 s1 T/ o5 M& m& v6 q% u" w, y& G/ o- e& T
二、分离config的数据并获取密码
`/ u# D$ m5 B, w- 重新启动设备后,就可以用固件中默认的密码aDm8H%MdA登录系统。
+ c9 G' z5 W; g/ ~ - 准备一个FAT32格式的U盘,将busybox-mips_1.19.0复制到U盘中,然后插到光猫的U口中,然后将app分区(mtd10)备份出来。1 c r! w8 Y+ ^- `7 t* t8 l1 Y- k
: H+ ~; a$ s& T2 I- 备份分区:
7 u9 F; p5 K+ q( o/ s - /var/mnt/usb1_0/busybox-mips_1.19.0 dd if=/dev/mtd10 of=/var/mnt/usb1_0/mtd10.bin&
# ^4 S- C) | H& o% p
3 ^) s8 U1 M F' ]# @. h1 i6 v- 这条命令没有任何反馈,等待大约5分钟后,将此进程结束。
3 m* D2 i! k5 ` - ps列出进程5 l' |# W6 m1 [: N
- kill 进程id结束进程3 l: b" O7 ^1 e' v
- 然后输入umount /var/mnt/usb1_0/将U盘弹出。& s6 s; k4 Q' v
6 J8 F& [$ R/ p! W$ d& y- 将U盘在电脑上将刚才备份的mtd10.bin文件拷出来,用WinHex定位到0x7500000,长度0xB00000(11MB),将这段数据剪切出来重命名为config.bin,这个就是config分区的数据。! p; X I+ v; O8 r9 d. b
- 在得到了config分区的数据之后拷贝到U盘,进入光猫,把数据还原。
! ]- r- V/ r/ @# A0 u' Z6 ~ - " o: o+ d( e$ V# }4 D
- 还原分区:; y" O* z0 e9 b% Y: R* m
- umount /var/config
4 o* U1 m3 J( P: V - /var/mnt/usb1_0/busybox-mips_1.19.0 dd if=/var/mnt/usb1_0/config.bin of=/dev/mtdblock3&. B' q# j% u* d
' ~- Q( }4 i6 W- 大约等待2分钟后,结束掉此进程。然后重新挂载config分区。
# |! [$ G8 A5 t1 o" P, M* B: Z
+ r4 G! N! R: Q z- 重新挂载分区:
, v; _) ^0 U7 e& l - mount -o rw /dev/mtdblock3 /var/config
/ J5 Y7 t4 v0 D" Q3 j2 j+ y4 x7 U
3 K7 ]2 H3 i5 k- 分区挂载完毕,将lastgood.xml文件拷贝到U盘中。# T5 L; R/ _7 Q" c, s4 E
- cp /var/config/lastgood.xml /var/mnt/usb1_0/
* L0 V+ s$ t+ V0 X3 d3 z; r1 O2 Q - umount /var/mnt/usb1_0/5 I1 ?5 A! K+ ?3 f
$ c$ Z1 O$ O8 n- 然后将U盘插入电脑中,用cfg-cryptor.exe工具将lastgood.xml文件解码。
8 O' h# l7 M: a: i2 m* r5 G - cfg-cryptor.exe -de lastgood.xml: j" \; ~) h6 T7 ]3 f6 o1 g3 i0 ~
3 M8 R1 r) \) A4 C5 M- 在解码后的配置文件中,搜索SUSER_PASSWORD,即可看到密码。SUSER_NAME是用户名。
, B% W2 w2 W( d, D2 K' O5 _ - <Value Name="SUSER_PASSWORD" Value="123456"/>4 _# f* F, ?; w3 | F
- <Value Name="SUSER_NAME" Value="CMCCAdmin"/>
复制代码 ; J5 M* j8 i$ \! U* P, Z/ b4 @) w. v
! g& B r _! d/ h L! j0 w; Q
三、今后密码被修改的应对办法
. Q0 J$ L$ k) c" z% A" |7 ^ {) S- 在上一步我们已经得到了config分区的数据,那么今后密码被修改,就不用那么麻烦了。" d# P8 @" R4 A' I/ q/ x. x, M- n
- 准备好tftpd32.464软件,进入光猫uboot中,连上网线(千兆口即可),设置好uboot的IP地址,输入以下命令:, M0 K: M- X7 g8 G! V Q+ m6 l4 z
) K4 c% R4 H+ E, w' {; H# i! o8 a- 清除RAM0 u2 J% k) h. s/ T
- mw.b 0x84000000 0x00 0xB000001 _( G1 y: P+ q' _2 ?; r
9 v5 M; A% ~) c2 y- 将config.bin下载到光猫内存
1 j5 X4 l. h4 c - tftp 0x84000000 config.bin# _& t6 H; m3 a5 W
- 3 Z$ `3 \, X9 V& i9 R# `+ G. ^; i$ a4 s
- 将config分区的数据擦除:
- W" e: {8 P7 I/ T+ e1 H - spi_nand erase 0x100000 0xB00000
- B/ g* T s2 s" i) F O) K7 t# `3 ] - 1 [! }& P/ n& ?' `0 M
- 将RAM中的config写入NAND的config分区
- \8 ~( `7 s" z& w& w) I' u1 N4 g - spi_nand write 0x84000000 0x100000 0xB00000
/ e% w4 `; U6 t. u8 g6 ^4 b - % _5 \& H# b. I' n7 y) p
- 重启光猫后,配置文件就恢复到了之前,用之前的密码即可登录。
复制代码
3 ^/ x$ x, R* W4 {. d: _: H; S: a# E
) h% @3 h8 W3 x5 z( t4 Q' w8 R( U |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|