路由器闪存转储未知文件系统

逆向工程 十六进制 倾倒
2021-07-08 12:16:50

在阅读了有关一家流行公司的路由器固件内部隐藏后门的有趣文章后,我正在尝试对我的路由器固件进行逆向工程。

数据已直接从闪存中提取(使用 raspberry pi b+ spi),因为周围没有可下载的固件。

部分串行输出

Start to decompress!
Booting
Press 'ESC' to enter BOOT console...
Ext. phy is not found. 
Boot from NOR/SPI flash
(c)Copyright Realtek, Inc. 2012
Project RTL8676S LOADER (LZMA)
Version 00.01.02a-rc (Nov 13 2014 17:15:26)

binwalk 输出

LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size: 70744 bytes
(lots of lines like this one)

发现

0x8000 to 0xE777: bootloader?
0x10000: rootfs start
  first 0x13 byte: unknown data (header ?)
  build date
  string "router.img"
  firmware data

我认为固件是加密的。我无法提取引导加载程序、内核和 rootfs 进行静态分析。是否可以使用 qemu 进行模拟?转发链接:flashimage通行证:fi00

提前致谢

1个回答

从我所见,它似乎是 MIPS 处理器(大端)的二进制图像。图像似乎在偏移 0x80000000 处加载。在 0x80001d70 偏移处有一个子程序,它打印出初始的“开始解压缩!” PC 0x80001e38 上的消息。希望这能让你开始。