我正在考虑对一些路由器模型进行反向工程,并尝试使它们与QEMU一起运行。特别是我正在尝试使Web服务器运行。我在想的当前问题可能是路由器的固件是否尝试使用QEMU默认不会仿真的物理设备。我的主要目标是模拟各种路由器的固件并能够连接到其网络服务器。逆向工程界的任何成员是否都具有使用QEMU模拟路由器的一般指南?

#1 楼

模拟完整的物理设备总是更多的是实验性练习。在这方面,您可以使用firmadyne,它旨在为MIPS和ARM设备模拟基于Linux的嵌入式固件。它基于古老的QEMU项目。还有一个固件分析工具包,它是Firmadyne的包装,使您可以自动化一些任务。通常,您会遇到各种固件二进制文件,这些二进制文件无法正确仿真(例如,没有网络访问权限),主要是由于仿真环境中缺少硬件。在这种情况下,可能需要手动调整。

为了能够与Web服务器进行交互,并非总是总是需要对设备进行完整的系统仿真。我们可以使用binwalk提取文件系统并在chroot环境中使用QEMU用户模式仿真运行Web服务器。

进一步阅读:


https:/ /www.dcddcc.com/docs/2016_paper_firmadyne.pdf
https://blog.attify.com/getting-started-with-firmware-emulation/
使用QEMU进行固件仿真


评论


谢谢!您的回应正是我所寻找的。

–kkx07805
18年11月1日在21:10