首页
社区
课程
招聘
[求助]qemu 用户模式下如何执行动态链接软件?
2018-10-16 10:46 9716

[求助]qemu 用户模式下如何执行动态链接软件?

2018-10-16 10:46
9716
看 《揭秘家用路由器0day……》书(p65),用qemu User Mode模式下执行依赖动态库的软件时,需要将qemu-mipsel复制到当前文件夹下,之后执行chroot . ./qemu-mipsel XXX就可以了,我测试先将qemu-mipsel复制到当前文件夹,之后使用命令chroot . ./qemu-mipsel (后面不带XXX程序名),报错 chroot: failed to run command ‘./qemu-mipsel’: No such file or directory 。加上XXX程序名时,也报同样错。但在当前路径下执行 ./qemu-mipsel 能执行成功。./qemu-mipsel XXX(加上XXX程序名),报 /lib/ld-uClibc.so.0: No such file or directory,应该是XXX程序依赖的/lib/ld-uClibc.so.0库的相对路径又不对了。

感觉书上写的不太对,有人遇到过这问题吗,怎么解决?系统是 ubuntu 16.04 x64

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

收藏
点赞0
打赏
分享
最新回复 (10)
雪    币: 43
活跃值: (388)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
malokch 2 2018-10-16 12:22
2
0
要先解压路由器的rootfs到某个文件夹,再 chroot到这个文件夹。必要的情况下还要挂载 /sys /proc /dev
雪    币: 1412
活跃值: (4273)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
IamHuskar 4 2018-10-16 13:02
3
0
./qemu-mipsel xxxx -L/your/library/path
雪    币: 3981
活跃值: (2058)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
Umiade 2018-10-16 13:51
4
0
可以用qemu-mipsel-static替代
雪    币: 216
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
potop 2018-10-16 16:20
5
0
Umiade 可以用qemu-mipsel-static替代
用这个确实可以 
chroot . ./qemu-mipsel-static XXX ,谢谢了~
请问带 static 与 不带 static 的有什么区别?
最后于 2018-10-16 16:22 被potop编辑 ,原因:
雪    币: 216
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
potop 2018-10-16 16:32
6
0
谢谢~
我用binwalk解包后进到根文件夹下,用 ./qemu-mipsel ./bin/busybox -L ./lib/,还是报错: /lib/ld-uClibc.so.0: No such file or directory
雪    币: 3981
活跃值: (2058)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
Umiade 2018-10-17 10:16
7
0
potop Umiade 可以用qemu-mipsel-static替代 用这个确实可以 chroot . . ...
其实是qemu-mipsel的库没找到,而不是XXX的库,所以用静态的版本就可以了;
./qemu-mipsel xxxx -L/your/library/path  /your/library/path指的是qemu的库  
雪    币: 216
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
potop 2018-10-17 14:41
8
0
Umiade 其实是qemu-mipsel的库没找到,而不是XXX的库,所以用静态的版本就可以了; ./qemu-mipsel xxxx -L/your/library/path /your/library/p ...
谢谢了~
雪    币: 11
活跃值: (12)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
照片记录谁 2018-10-19 09:58
9
0
static 与 非static的区别: 如果使用qemu-mipsel(非static),在运行该命令时,qemu-mipsel命令本身也有其依赖库,因而也需要去寻找。由于使用了chroot命令,将当前路径设置为"根目录",那么找qemu-mipsel的依赖库就会在当前路径下寻找,正常情况下肯定找不到。一种解决方式是将qemu-mipsel的依赖库全部复制到当前路径下(注意路径要正确);另一种方式就是使用qemu-mipsel-static, 由于是静态编译的,其依赖库已经包含在这个可执行文件中了。
雪    币: 216
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
potop 2018-10-19 10:00
10
0
明白了,谢谢
雪    币: 8
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xslpg 2018-10-20 11:38
11
0
谢谢~
游客
登录 | 注册 方可回帖
返回