如何优雅的模拟车联网固件

汽车安全 3年前 (2021) admin
1,375 0 0

如何优雅的模拟车联网固件

在日常测试中,我们可能遇到没有硬件只有固件的情况,一般此时我们都会使用QEMU仿真该固件


QEMU是一款的跨平台动态二进制翻译仿真软件,它可以模拟MIPS/MIPS64、ARM/ARM64、PowerPC等架构。QEMU的原理主要是将ELF格式的可执行文件翻译成中间形式,然后根据中间形式,拷贝编译好的微操作代码,形成目标基本块,最后再执行此基本块。


QEMU主要有两种仿真方式:

  • 用户模式仿真:允许一个(Linux)进程执行在不同架构的CPU上,该模式下,QEMU 可以作为进程级虚拟机

  • 系统模式仿真:允许仿真完整的系统,包括处理器和配套的外设,该模式下,QEMU 也可以作为系统虚拟机


一般来说,qemu启动有两种方式:


第一种是QEMU用户模式仿真,启动命令如下:


sudo chroot . ./qemu-mipsel-static ./www/api

第二种是QEMU系统模式仿真,启动命令如下:


sudo tunctl -t tap0 -u rootsudo ifconfig tap0 192.168.3.1/24ifconfigsudo qemu-system-mipsel -M malta -kernel ./vmlinux-3.2.0-4-4kc-malta -hda ./debian_wheezy_mipsel_standard.qcow2 -append "root=/dev/sda1 console=tty0" -net nic -net tap,ifname=tap0,script=no,downscript=no -nographic -sifconfig eth0 192.168.3.2scp squashfs.tar [email protected]:/roottar -zxvf squashfs.tarmount -o bind /dev ./squashfs-root/devmount -t proc /proc ./squashfs-root/proc/chroot ./squashfs-root/ sh


如果我们使用QEMU系统模式仿真,可以看到我们需要针对不同架构输入不同的启动命令,配置网络环境,传输系统文件到QEMU虚拟机中。因为饱受QEMU系统模式仿真的折磨,我们编写了QEMU系统模式仿真一键启动工具,虽然跟FAT还是有很大的差距,但是可以满足现阶段的调试需求。


在QEMU系统模式仿真一键启动工具中,我们实现了不同架构下的kernel、qcow2文件自动下载、自动配置网络、自动同步待仿真文件等功能。


现在我们已在Github中开源该工具,如果小伙伴在使用时遇到什么问题记得及时提issue呀。


Github地址:https://github.com/richardxzh/qemustart


喜欢的师傅点个star哇


1 安装准备环境


sudo apt-get install expectsudo apt-get install uml-utilitiessudo apt-get install gnome-terminal

2 git克隆项目到本地


 git clone https://github.com/richardxzh/qemustart.git

如何优雅的模拟车联网固件


3 准备待模拟的文件

此处我们以DIR890为例

如何优雅的模拟车联网固件

使用binwalk解压后如下图所示

如何优雅的模拟车联网固件

将squashfs-root文件中的所有内容复制到qemustart中的rootfs目录中

如何优雅的模拟车联网固件

我们可以使用file命令查看该固件的架构

file bin/busybox

如何优雅的模拟车联网固件


4 启动qemustart


我们可以使用help查看支持的命令格式

如何优雅的模拟车联网固件

这里我们使用armhf

./qemustart.sh armhf wheezy

如何优雅的模拟车联网固件

接下来就是咖啡时间,等待工具自动启动即可

如何优雅的模拟车联网固件

QEMU启动后会自动chroot到待仿真的系统中,接下来就可以进行我们想要的调试啦

如何优雅的模拟车联网固件

如何优雅的模拟车联网固件
#更多技术交流,可加微信申请加入智能网联汽车安全交流群#

如何优雅的模拟车联网固件



原文始发于微信公众号(智能网联汽车安全):如何优雅的模拟车联网固件

版权声明:admin 发表于 2021年12月15日 上午5:30。
转载请注明:如何优雅的模拟车联网固件 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...