通过 U-BOOT 转储路由器固件

逆向工程 串行通讯 倾倒
2021-06-13 06:41:45

我将 ttl 电缆连接到我的路由器板,我试图转储固件,以便通过 Web 界面使用我的备份闪存第二个设备,所以我有几个问题:

例如什么二进制文件。upgrade.bin 包含 ? 内核映像、文件、用户设置 ? 我问这个是因为我不确定我需要转储哪个分区很少

dev:    size   erasesize  name
mtd0: 00800000 00010000 "Whole_Flash"
mtd1: 00020000 00010000 "Bootloader"
mtd2: 00010000 00010000 "defcfg"
mtd3: 00020000 00010000 "curcfg"
mtd4: 00010000 00010000 "log"
mtd5: 00180000 00010000 "kernel1"

这是 U-BOOT 的表格

AMAZON_S # bdinfo
boot_params = 0x81DDEFB0
memstart    = 0x80000000
memsize     = 0x02000000
flashstart  = 0xB0000000
flashsize   = 0x00800000
flashoffset = 0x00000000

我确实尝试过使用 dd 但板上的 busybox 不包含一个,所以我需要通过 U-BOOT 来完成,但我无法“初始化”SPI 设备

AMAZON_S # help sf
sf probe [bus:]cs [hz] [mode]   - init flash device on given SPI bus
                                  and chip select
sf read addr offset len         - read `len' bytes starting at
                                  `offset' to memory at `addr'
sf write addr offset len        - write `len' bytes from memory
                                  at `addr' to flash at `offset'
sf erase offset len             - erase `len' bytes from `offset'

AMAZON_S # sf probe 0
Failed to initialize SPI flash at 0:0

最后我怎么能确定“Whole_Flash”或“kernel1”有多长时间才能转储正确的内存量?

AMAZON_S # printenv
bootcmd=run flash_flash
bootdelay=3
baudrate=115200
preboot=echo;echo Type "run flash_nfs" to mount root filesystem over NFS;echo
serverip=192.168.1.55
netdev=eth0
baudrate=115200
rootpath=/opt/nfs
nfsargs=setenv bootargs root=/dev/nfs rw nfsroot=$(serverip):$(rootpath)
ramargs=setenv bootargs root=/dev/ram rw
addip=smem=2M
vpe1_load_aotargs) ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask):$(hostname):$(netdev):on
mem=32M
vpe0mem=30M
vpe1mem=2M
vpe1_load_addr=0x81e00000
addmisc=setenv bootargs $(bootargs) console=ttyS1,$(baudrate) ethaddr=$(ethaddr) phym=$(mem) mem=$(vpe0mem) panic=1 vpe1_load_addr=$(vpe1_load_addr) vpe1_mem=$(vpe1mem) vpe1_wired_tlb_entries=1
flash_nfs=run nfsargs addip addmisc;bootm $(kernel_addr)
ramdisk_addr=B0100000
flash_self=run ramargs addip addmisc;bootm $(kernel_addr) $(ramdisk_addr)
img_uboot=u-boot.ifx
net_nfs=tftp 80500000 $(img_kernel);run nfsargs addip addmisc;bootm
net_ram=tftp 80500000 $(img_kernel);run ramargs addip addmisc;bootm
load=tftp 80500000 $(img_uboot)
flash_flash=run addip addmisc; bootm $(kernel_addr)
f_ubootconfig_addr=0xB001A000
f_ubootconfig_size=0x1000
ethaddr=20:89:86:06:B4:00
ipaddr=192.168.1.1
netmask=255.255.255.0
stdin=serial
stdout=serial
stderr=serial
ethact=amazon_s Switch

Environment size: 1252/4092 bytes
0个回答
没有发现任何回复~