使用大端格式运行MIPS程序,报错如下:
root@t-vm:/home/t/Desktop/_dir605L_FW_113.bin.extracted/squashfs-root-0# qemu-mips -L . bin/ls
bin/ls: Invalid ELF image for this architecture
使用小端格式运行MIPSEL程序,正常运行:
root@t-vm:/home/t/Desktop/_TEW-654TR_A1_FW100B19.bin.extracted/squashfs-root# qemu-mipsel -L . bin/ls
bin lib mnt sbin var
dev linuxrc proc tmp www
etc lost+found root usr
采用网上方法(http://www.devttys0.com/2011/12/qemu-vs-sstrip/),修改elfload.c文件,发现并无所注释行:
/* Verify the portions of EHDR outside of E_IDENT for the target.
This has to wait until after bswapping the header. */
static bool elf_check_ehdr(struct elfhdr *ehdr)
{
return (elf_check_arch(ehdr->e_machine)
&& ehdr->e_ehsize == sizeof(struct elfhdr)
&& ehdr->e_phentsize == sizeof(struct elf_phdr)
&& (ehdr->e_type == ET_EXEC || ehdr->e_type == ET_DYN));
}
使用复制模拟指令程序方式运行报错
root@t-vm:/home/t/Desktop/_TEW-654TR_A1_FW100B19.bin.extracted/squashfs-root# cp $(which qemu-mipsel) ./
root@t-vm:/home/t/Desktop/_TEW-654TR_A1_FW100B19.bin.extracted/squashfs-root# ./qemu-mipsel bin/ls
bin/ls: can't load library 'libsutil.so'(这个动态链接库求好心人分享)
root@t-vm:/home/t/Desktop/_TEW-654TR_A1_FW100B19.bin.extracted/squashfs-root# chroot . ./qemu-mipsel bin/ls
chroot: failed to run command ‘./qemu-mipsel’: No such file or directory(是不是我这个命令用错了。。。求解)
求大家帮帮忙 至少能让我这个大端MIPS程序跑起来 最好是能用复制模拟指令程序方式运行 以便IDA远程调试用