我想对 Netgear R8300 - Nighthawk 夜鹰 X8 AC5000 智能 WiFi 路由器/R8300 的固件进行逆向工程(可在此处下载)。
我能够使用 提取图像的内容binwalk,但是我希望在“实时”情况下测试一些可执行文件。为了做到这一点,我尝试使用 QEMU。
可悲的是,无论如何,我的系统崩溃了。
我开始于:
$ qemu-system-arm -M vexpress-a9 -hda R8300-V1.0.2.100_1.0.82.chk
Warning: Orphaned drive without device: id=scsi0-hd0,file=R8300-V1.0.2.100_1.0.82.chk,if=scsi,bus=0,unit=0
qemu: fatal: Trying to execute code outside RAM or ROM at 0x04000000
据我所知,QEMU 有一个驱动程序,但他不知道如何处理。所以我尝试手动指定更多参数:
qemu-system-arm -M vexpress-a9 \
-drive file=R8300-V1.0.2.100_1.0.82.chk,format=raw \
-device scsi-hd,id=scsi0-hd0
qemu-system-arm: -device scsi-hd,id=scsi0-hd0: No 'SCSI' bus found for device 'scsi-hd'
我尝试使用一些不同的设备类型,但似乎找不到正确的总线。
我什至试图将图像分割成不同的部分(内核和文件系统),但我仍然崩溃了。
我对逆向工程还很陌生,我可以就如何启动固件映像提供一些提示或建议吗?
编辑。稍微使用该命令,我能够收到不同的错误消息:
$ qemu-system-arm -M vexpress-a9 -cpu cortex-a9 \
-redir tcp:8888::80 -m 512 \
-drive file=R8300V1.0.2.100_1.0.82.chk,format=raw \
-device scsi id=scsi0-hd0,if=ide-hd
qemu-system-arm: -device scsi: drive with bus=0, unit=0 (index=0) exists
我尝试指定不同的总线、单位和索引,但错误仍然相同