- 16MByte FLash 的 WR703
经验
- 在failsafe下也可以提取,但似乎dd没有反馈信息了
提取特定分区
- 查看系统分区的实际配置
root@OpenWrt_SLBoat_Mod:/# cat /proc/mtd
dev: size erasesize name
mtd0: 00020000 00010000 "u-boot" mtd1: 000dea50 00010000 "kernel" mtd2: 00ef15b0 00010000 "rootfs" mtd3: 00d20000 00010000 "rootfs_data" mtd4: 00010000 00010000 "art" mtd5: 00fd0000 00010000 "firmware"
- 提取u-boot,看起来是初始化的配置
root@OpenWrt_SLBoat_Mod:/# dd if=/dev/mtd0 of=/tmp/uboot.hex
256+0 records in
256+0 records out
- 提取rootfs,看起来是初始化的配置
root@OpenWrt_SLBoat_Mod:/# dd if=/dev/mtd2 of=/tmp/rootfs.hex
30602+1 records in
30602+1 records out
- 提取rootfs_data,这应该就是用户的文档了
root@OpenWrt_SLBoat_Mod:/# dd if=/dev/mtd3 of=/tmp/rootfs_data.hex
26880+0 records in
26880+0 records out
- 提取art,这玩意为什么写着128呢
root@OpenWrt_SLBoat_Mod:/# dd if=/dev/mtd4 of=/tmp/art.hex
128+0 records in
128+0 records out
最终文件的大小
root@OpenWrt_SLBoat_Mod:/# ls -Alh /tmp/*.hex
-rw-r--r-- 1 root root 14.9M Sep 8 16:07 /tmp/rootfs.hex
-rw-r--r-- 1 root root 13.1M Sep 8 16:07 /tmp/rootfs_data.hex
-rw-r--r-- 1 root root 128.0K Sep 8 16:06 /tmp/uboot.hex
想法
- 看起来最终的文件可以进行组合成一个完整hex
- 利用Openwrt的shell直接提取整个编程器的固件
- 这样可以减少拿取flash
见识
OPENWRT 无线MAC地址修改 & bin 文件提取方法_Z_Live_百度空间
telnet进dd-wrt,然后执行 cat /proc/mtd,一般显示如下:
mtd0: 00040000 00020000 "cfe"
mtd1: 007a0000 00020000 "linux"
mtd2: 002be6f4 00020000 "rootfs"
mtd3: 00020000 00020000 "nvram"
mtd4: 00400000 00020000 "ddwrt"
可以看出我们需要的cfe在mtd0区, 先备份cfe.bin出来。
dd if=/dev/mtd/0 of=/tmp/cfe.bin.backup
本站的文章和资源来自互联网或者站长的原创,按照 CC BY -NC -SA 3.0 CN协议发布和共享,转载或引用本站文章应遵循相同协议。如果有侵犯版权的资 源请尽快联系站长,我们会在24h内删除有争议的资源。欢迎大家多多交流,期待共同学习进步。