|
最近开始研究固件制作(主要讨论web直刷固件,编程器固件需要动手能力undefined),网上教程太少了。学习过程非常困难,现在还没有成功制作,把这几天学习的心得发出来,大家交流交流,互相进步。首先,需要了解固件的构成。固件分为1.编程器固件(需要编程器才能刷机,主要由引导+固件+其他数据 想当于整个FLASH内容的一个镜像)2.web直刷固件(我们平时刷机使用的固件)。# V9 ~0 j! u" _- e7 s0 `0 O# [! F
1.1编程器固件主要由uboot(我还不清楚是哪个公司芯片使用的)或CFE(博通公司芯片使用的引导程序)、Firmware(固件,就像电脑的操作系统,实现光猫的各种功能)、其他数据。1.2web直刷固件主要由Firmware、配置文件构成。
* I1 A, C3 E! g0 z! D. K1 G其次,需要了解破解光猫的相关知识。获取超级用户名、telnet、 ftp等相关权限。, F! ~6 ~8 K$ d& g, c* N \2 B$ i+ P5 g
然后,1.telnet进入光猫。2.cat proc/mtd 3.备份镜像文件(不知道备份哪几个文件,猜测主要备份是mtd0(应该是uboot),mtd2(linux内核),mtd3(i don't konw),mtd9(配置文件))4.ftp下载备份文件: s, e; M" Z) ^3 e6 v& ^
/proc # cat mtd; r" n$ R" [0 e! Y1 ]9 Z
dev: size erasesize name3 H; W5 v+ E. v+ ^
mtd0: 00040000 00020000 "bootloader"' b- Y, d) ~/ z5 F
mtd1: 00040000 00020000 "romfile"
( ~3 i, M& z5 a! Gmtd2: 00400000 00020000 "kernel"
" K' x, W5 V) y8 U9 Emtd3: 01400000 00020000 "rootfs"
8 p$ ~. Z3 W2 z" q! j9 s' H3 F) nmtd4: 00400000 00020000 "kernel_slave"( d% O, |1 i' U- y5 h3 z
mtd5: 01400000 00020000 "rootfs_slave"; j8 i2 G& O s7 t
mtd6: 00200000 00020000 "bosa"
, n: C( t) p3 L- t: zmtd7: 01400000 00020000 "log"
" L0 i5 H- l" M. ?1 S6 f# Emtd8: 00200000 00020000 "ri"
2 @/ y7 e1 i- w A4 \5 C) E" {% p% m4 lmtd9: 01400000 00020000 "config"
& [. W" A$ O! w Q" nmtd10: 00300000 00020000 "flag"; P* L& p# b0 ]" f
mtd11: 00200000 00020000 "flagback"
2 G4 K' I% S5 H0 Y' O; dmtd12: 00a00000 00020000 "rsv"
2 Q4 i4 h1 _/ s9 ]/ j/ v最后,提取的文件在合并打包制作成web直刷固件(需要相关打包,合并等工具目前正在这个阶段研究钟。。undefined一直未突破)1 i' @! d+ R' |7 t0 H3 }( I' @2 n
希望有这方面兴趣爱好的朋友一起研究,交流,共同学习。文中光猫使用的是上海贝尔120E测试。6 `7 ~6 u, Z5 m2 @2 k% M0 y
|
|