找回密码
 注册

QQ登录

只需一步,快速开始

查看: 49361|回复: 102

中兴光猫固件提取

  [复制链接]
发表于 2020-3-25 02:23:32 | 显示全部楼层 |阅读模式
本帖最后由 tm5880891 于 2020-3-25 02:33 编辑 . I: n% w2 Y+ p- a  z( ]5 T# I. }
* y/ ~5 {* h- _/ a
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  O$ \& X6 U6 A0 K0 Z; o# t
这就是所有的分区内容了

, E0 ^( e3 v6 M5 k
要求:需要使用 dd 命令依次取出这些分区里的内容
1 L+ a4 }. J  j' v( g. z, n
2.中兴光猫自带的busybox 没有 dd 命令,因此需要导入一个带有dd命令的busybox

+ Q* a, V6 |: v* D9 I3 O: |
导入前要先查看光猫 CPU 信息,方便导入对应的busybox
- ]/ s2 b( ~! u: ?
/ # 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

# C1 e' M! z# p  B8 Q' c
Hardware        : HGU
R
evision        : 0000
Serial          : 0000000000000000
/ #

0 Q7 B- K1 L* O# i4 l
注意到 Processor 为 ARMv7 Processor rev 1 (v7l)
* K( p5 B) h( [; X- U& }
因此得导入arm v7l 版本的 busybox
$ A! |) g/ A6 R3 l
在所在文件的目录下开启tftpd软件
cd /tmp
tftp -g -r busybox-armv7l -l busybox-armv7l 192.168.1.2
chmod +x busybox-armv7l
mv busybox-armv7l busybox
, U& p# Q. m' ]
3.开始拷贝文件

" H" R6 [+ h9 Q7 @/ Y5 Q' V
cd /tmp% o3 ?2 n  J4 J  G: Y7 c: Z$ M
dd if=/dev/mtd1 of=/tmp/u-boot.bin    # 打包分区
tftp -l u-boot.bin -p 192.168.1.2     # 上传打包的分区到本地 tftp 服务器

6 Q0 J: E3 [& Z3 i  c6 `* S
至此,按各分区大小和所在目录分别传输完毕...
7 F$ X( W; g+ {' {7 g' x; S
4 }8 j  z, k; {5 `  V

6 z1 w% I2 \% O0 S7 Y4 Q; {  E9 W  l' Q5 {/ D

* [: n; z5 J$ J0 |5 C' J, ~
 楼主| 发表于 2020-7-14 17:47:27 | 显示全部楼层
hvon 发表于 2020-7-14 14:43
% k4 @+ m$ H6 o# e; T提取分区数据之后,还要分析出固件的数据,例如固件的头,kernel和系统文件的压缩区域,然后再根据逆向出的crc3 ...
: w3 J6 d- |9 N0 S% k
嗯,你说的很对嘛,但这个不教
发表于 2023-11-20 20:24:18 | 显示全部楼层
tm5880891 发表于 2022-5-24 22:51  H& R$ {1 p3 P3 ?6 d
所有的固件都可以提取,不论他是什么产品,只是他带了固件就成

, h+ c2 A* I0 U大佬, 联通版 中兴F4610U T1版本的固件 你呢有吗?
发表于 2023-4-23 00:21:54 | 显示全部楼层
tm5880891 发表于 2020-3-25 23:19
( J5 s; q( z' W% x! Z9 c0 L- U5 e2 F每个型号按每个型号的搞法的,我这个提的是中兴F460 5.0。具体情况根据自己的猫目录和版本号加以灵活应用 ...

6 v6 t$ e: j2 p# K% k7 |* P实际提取固件不需要用dd,这个型号的原厂固件里带有nanddump这个命令,还有nandwrite。
# c( V4 j/ E6 }; w3 o! D# x& J/ xnanddump -f nandinfo.txt /dev/mtd0
- Y! h. j6 {1 Jnandwrite -p /dev/mtd6 /mnt/usb1_1/mtd6_kernel1.bin
 楼主| 发表于 2020-3-25 23:19:16 | 显示全部楼层
ftth650603 发表于 2020-3-25 23:17
/ {3 k) T8 f. K9 g# Z6 q我的光猫是中兴F607怎么输入cat /proc/cupinfo之后。和你的显视版本不一样呢。而且用你的命令也出错呀。 ...
% V. T! E% Z, d# h
每个型号按每个型号的搞法的,我这个提的是中兴F460 5.0。具体情况根据自己的猫目录和版本号加以灵活应用
发表于 2020-3-25 10:32:23 | 显示全部楼层
请问下,这个上传到tmp下的busybox可以拷贝到/bin下覆盖原来的busybox吗,
% q$ }& c: t4 t0 a' Q, ^& C$ G: N
 楼主| 发表于 2020-3-25 11:19:35 | 显示全部楼层
zhy123138 发表于 2020-3-25 10:32% R1 h* `0 ~, C
请问下,这个上传到tmp下的busybox可以拷贝到/bin下覆盖原来的busybox吗,

, G) Y: _' r: K$ s没必要覆盖原来的,直接在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
, n/ Z. Y8 r# q/ Y0 D; W) i导出来的系统怎么恢复到其他猫上

8 J  t4 g  O: m# ^个人算了,商家加V
发表于 2020-3-25 23:17:33 | 显示全部楼层
我的光猫是中兴F607怎么输入cat /proc/cupinfo之后。和你的显视版本不一样呢。而且用你的命令也出错呀。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|宽带技术网 |网站地图

粤公网安备 44152102000001号

GMT+8, 2024-5-23 19:15 , Processed in 0.030037 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5 Licensed

Copyright © 2001-2020, Tencent Cloud.

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