为转储的固件发出一些命令:
$ du -h fw.bin
4.0 M
$ file fw.bin
fw.bin: data
$ file -i fw.bin
fw.bin: application/octet-stream; charset=binary
$ binwalk fw.bin
-
$ enca -L none fw.bin
-
并且linksys路由器上的引脚根据数据表(www.cse.buffalo.edu/~bina/amrita/cse524/wrt54gl.pdf)中描述的图设置:

根据参考资料(dangerousprototypes.com/docs/Bus_Pirate_I/O_Pin_Descriptions)放置来自 BusPirate v3.6 的相应引脚:
已发出 OpenOCD 命令,例如:
sudo openocd -f interface/buspirate.cfg -f board/linksys-wrt54gl.cfg -c "init"
BusPirate 的配置
interace/buspirate.cfg:
interface buspirate
buspirate_port /dev/ttyUSB0
buspirate_speed normal
reset_config srst_only
和board/linksys-wrt54gl.cfg:
# Linksys WRT54GL v1.1
#
source [find target/bcm5352e.cfg]
set partition_list {
CFE { Bootloader 0x1c000000 0x00040000 }
firmware { "Kernel+rootfs" 0x1c040000 0x003b0000 }
nvram { "Config space" 0x1c3f0000 0x00010000 }
}
# External 4MB NOR Flash (Intel TE28F320C3BD90 or similar)
set _FLASHNAME $_CHIPNAME.flash
flash bank $_FLASHNAME cfi 0x1c000000 0x00400000 2 2 $_TARGETNAME
和来源,target/bcm5352e.cfg,它指的是:
set _CHIPNAME bcm5352e
set _CPUID 0x0535217f
jtag newtap $_CHIPNAME cpu -irlen 8 -ircapture 0x1 -irmask 0x1f -expected-id $_CPUID
set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME mips_m4k -endian little -chain-position $_TARGETNAME
gdb_memory_map disable
$_TARGETNAME configure -event gdb-attach {
reset
halt
}
我打开一个新终端并 telnet 到套接字 openocd 已打开通信,我转储固件如下:
dump_image fw.bin 0x1c000000 0x00400000
这些值改编自linksys-wrt54gl.cfg先前显示的文件。
任何想法使用/连接 JTAG 和转储固件可能有什么问题?
有关当前 Linksys-Wrt54gl 的信息:
型号:WRT54GL-EU
固件版本:v4.30.7,2006 年 6 月 20 日
可以在此处获得“转储”固件的副本:https : //www.dropbox.com/s/kl02cnc5qqddx1x/fw.bin?dl=0
