找回密码
 注册

QQ登录

只需一步,快速开始

查看: 63515|回复: 102

中兴光猫固件提取

  [复制链接]
发表于 2020-3-25 02:23:32 | 显示全部楼层 |阅读模式
本帖最后由 tm5880891 于 2020-3-25 02:33 编辑
- E9 O* h7 k! Q  b# q9 x# Y5 D; M! S: c- A# R8 E6 a* o% ~; L
1.通过/proc虚拟文件系统读取MTD分区表:
/ # cat/proc/mtd
dev:    size  erasesize  name
mtd0: 0800000000020000 "whole flash"
mtd1: 0020000000020000 "u-boot"
mtd2: 0040000000020000 "parameter tags"
mtd3: 0140000000020000 "kernel0"
mtd4: 0040000000020000 "middleware"
mtd5: 0080000000020000 "usercfg"
mtd6: 0140000000020000 "kernel1"
mtd7: 0060000000020000 "others"
mtd8: 0040000000020000 "wlan"
- A# C" T& [6 D( h; {
这就是所有的分区内容了
9 x: a8 V. d) K8 b6 N$ k
要求:需要使用 dd 命令依次取出这些分区里的内容
0 o/ E+ u9 W; f1 S3 }7 h
2.中兴光猫自带的busybox 没有 dd 命令,因此需要导入一个带有dd命令的busybox

+ q7 D# u9 j; ^  ?5 O8 ~
导入前要先查看光猫 CPU 信息,方便导入对应的busybox
- H* _' F& [7 C4 G& m. D( m
/ # cat/proc/cpuinfo
Processor       : ARMv7 Processor rev 1 (v7l)
BogoMIPS        : 1599.07
Features        : swp half fastmult edsp
CPU implementer: 0x41
CPUarchitecture: 7
CPUvariant     : 0x4
CPU part        : 0xc09
CPUrevision    : 1
* ~3 b6 o& M! L7 H& t4 {4 Q) V/ Z0 n
Hardware        : HGU
R
evision        : 0000
Serial          : 0000000000000000
/ #
; H# A0 Q) w9 i# D' j, U* T2 f
注意到 Processor 为 ARMv7 Processor rev 1 (v7l)
7 f: v5 e5 ]( O
因此得导入arm v7l 版本的 busybox
' N7 X. D# _% A: Z9 P0 c
在所在文件的目录下开启tftpd软件
cd /tmp
tftp -g -r busybox-armv7l -l busybox-armv7l 192.168.1.2
chmod +x busybox-armv7l
mv busybox-armv7l busybox

: l  D; |0 G  Y* U1 z8 I. v$ I
3.开始拷贝文件

8 l8 x1 ?8 ]' X3 y
cd /tmp/ ]: {( [: J: i( }! k: U) A# Q
dd if=/dev/mtd1 of=/tmp/u-boot.bin    # 打包分区
tftp -l u-boot.bin -p 192.168.1.2     # 上传打包的分区到本地 tftp 服务器
8 K2 x- L: s' S" K* V8 R( V. L- H
至此,按各分区大小和所在目录分别传输完毕...

7 D6 S- d* S) x5 T! b# ?
2 R( o* N0 ~: Y

% n0 O; _5 w- w$ [) J" h  z  {  k* W1 ^2 D" a" G8 l

5 r' N* ^  i( v6 K
 楼主| 发表于 2020-7-14 17:47:27 | 显示全部楼层
hvon 发表于 2020-7-14 14:43
. c, O0 ~, s$ X提取分区数据之后,还要分析出固件的数据,例如固件的头,kernel和系统文件的压缩区域,然后再根据逆向出的crc3 ...
; M; E1 Z0 E/ s0 L; r
嗯,你说的很对嘛,但这个不教
发表于 2023-11-20 20:24:18 | 显示全部楼层
tm5880891 发表于 2022-5-24 22:517 h3 l' ^+ y& Q$ f* \7 J& g. K
所有的固件都可以提取,不论他是什么产品,只是他带了固件就成

- S. j. }0 q" b) N) i5 z/ }大佬, 联通版 中兴F4610U T1版本的固件 你呢有吗?
发表于 2023-4-23 00:21:54 | 显示全部楼层
tm5880891 发表于 2020-3-25 23:192 u) X* f7 d" M4 h" f/ F. ]
每个型号按每个型号的搞法的,我这个提的是中兴F460 5.0。具体情况根据自己的猫目录和版本号加以灵活应用 ...

$ ]( d" c% K1 _$ o# B2 Y0 H: \实际提取固件不需要用dd,这个型号的原厂固件里带有nanddump这个命令,还有nandwrite。
) }" X6 |5 U+ c+ e" Lnanddump -f nandinfo.txt /dev/mtd0) g1 P: q* R4 V( m3 @) u9 a
nandwrite -p /dev/mtd6 /mnt/usb1_1/mtd6_kernel1.bin
 楼主| 发表于 2020-3-25 23:19:16 | 显示全部楼层
ftth650603 发表于 2020-3-25 23:17
1 y! s' z- I! x! f( x' l我的光猫是中兴F607怎么输入cat /proc/cupinfo之后。和你的显视版本不一样呢。而且用你的命令也出错呀。 ...
9 r1 B# y" i, g
每个型号按每个型号的搞法的,我这个提的是中兴F460 5.0。具体情况根据自己的猫目录和版本号加以灵活应用
发表于 2020-3-25 10:32:23 | 显示全部楼层
请问下,这个上传到tmp下的busybox可以拷贝到/bin下覆盖原来的busybox吗,
. J3 M& I7 t# k' F
 楼主| 发表于 2020-3-25 11:19:35 | 显示全部楼层
zhy123138 发表于 2020-3-25 10:32
! @6 w6 B$ t0 H# ~1 Q请问下,这个上传到tmp下的busybox可以拷贝到/bin下覆盖原来的busybox吗,
  b# S- x& f! S8 ]0 [, |# M8 K' C
没必要覆盖原来的,直接在tmp下运行他就行了
发表于 2020-3-25 17:29:49 | 显示全部楼层
虽然看不太懂  但还是要顶一下
发表于 2020-3-25 18:49:49 | 显示全部楼层
导出来的系统怎么恢复到其他猫上
发表于 2020-3-25 18:57:02 | 显示全部楼层
还是要顶一下............
发表于 2020-3-25 22:46:36 | 显示全部楼层
盖楼,群主积分太多了
 楼主| 发表于 2020-3-25 22:59:55 | 显示全部楼层
hdros 发表于 2020-3-25 18:49* Z6 m+ g: [7 R( q9 r
导出来的系统怎么恢复到其他猫上
/ k( g( {8 J5 {+ M! t& G& s9 @
个人算了,商家加V
发表于 2020-3-25 23:17:33 | 显示全部楼层
我的光猫是中兴F607怎么输入cat /proc/cupinfo之后。和你的显视版本不一样呢。而且用你的命令也出错呀。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|宽带技术网 |网站地图 粤公网安备44152102000001号

GMT+8, 2025-5-1 22:43 , Processed in 0.029933 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5 Licensed

Copyright © 2001-2020, Tencent Cloud.

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