您的位置:首页 > 其它

qemu模拟执行固件文件(解决 Invalid ELF image for this architecture 问题)

2016-12-16 18:38 5791 查看
kali下qemu的安装:

apt-get install qemu

使用Docker容器进行操作 https://hub.docker.com/r/asmimproved/qemu-mips/
分析某路由器固件包:

binwalk -Me bcrm.bin # -M 递归解压看情况可加可不加 -e 自动化提取


一般固件解压后的文件系统有squashfs和cpio,进入相应的文件夹

root@kali:~/work/openwrt/_brcm/squashfs-root# qemu-mipsel -L . bin/ls
bin/ls: Invalid ELF image for this architecture

# qemu-mipsel qemu user模式模拟运行 -L . 设置库路径为当前目录
一般报上面的这种错误目前我知道的会有两种情况

老版本的qemu会存在,新版本一般都不存在,参考解决链接:
http://www.devttys0.com/2011/12/qemu-vs-sstrip/  文件的打开方式不正确,使用了错误的程序执行了ELF文件
针对第2种的解决方法及常识:

# 使用file识别当前文件的格式

# 识别为:ARM格式的ELF文件
root@kali:~/work/openwrt/_brcm/squashfs-root# file bin/busybox
bin/busybox: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-uClibc.so.0, stripped

# 识别为:MIPS格式的ELF文件
root@kali:~/work/openwrt/_openwrt-we800g-squashfs.bin.extracted/squashfs-root# file bin/busybox
bin/busybox: ELF 32-bit LSB executable, MIPS, MIPS32 version 1, dynamically linked, interpreter /lib/ld-uClibc.so.0, corrupted section header size
依据上面类型使用不同的qemu程式模拟即可

root@kali:~/work/openwrt/_brcm/squashfs-root# qemu-arm -L . bin/ls
bin  etc  opt  proc  readonly  sbin  usr
先写这些,后续遇到问题再补充,至于漏洞挖掘的慢慢来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐