Linux运维知识之如何在linux主机上运行/调试 arm/mips架构的binary
小标 2018-12-07 来源 : 阅读 858 评论 0

摘要:本文主要向大家介绍了Linux运维知识之如何在linux主机上运行/调试 arm/mips架构的binary,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。

本文主要向大家介绍了Linux运维知识之如何在linux主机上运行/调试 arm/mips架构的binary,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。

如何在linux主机上运行/调试 arm/mips架构的binary

原文链接M4x@10.0.0.55
本文中用于展示的binary分别来自Jarvis OJ上pwn的add,typo两道题

写这篇教程的主要目的是因为最近想搞其他系统架构的pwn,因此第一步就是搭建环境了,网上搜索了一波,发现很多教程都是需要树莓派,芯片等硬件,然后自己编译gdb,后来实践的过程中发现可以很简单地使用qemu实现运行和调试异架构binary,因此在这里分享一下我的方法。
主机信息:
以一台新装的deepin虚拟机(基于debian)为例,详细信息如下:

预备环境安装:

安装git,gdb和gdb-multiarch,同时安装binfmt用来识别文件类型

$ sudo apt-get update
$ sudo apt-get install git gdb gdb-multiarch
$ sudo apt-get install "binfmt*"

安装gdb的插件pwndbg(或者gef等支持多架构的插件)

$ git clone https://github.com/pwndbg/pwndbg
$ cd pwndbg
$ ./setup.sh
装好之后如图:


安装pwntools,不必要,但绝对是写exp的神器

bash   $ sudo pip install pwntools
安装qemu:
$ sudo apt-get install qemu-user
通过qemu模拟arm/mips环境,进而进行调试
安装共享库:
此时已经可以运行静态链接的arm/mips binary了,如下图:

但还不能运行动态链接的binary,如下图:

这就需要我们安装对应架构的共享库,可以通过如下命令搜索:
$ apt-cache search "libc6" | grep ARCH

我们只需安装类似libc6-ARCH-cross形式的即可
运行:
静态链接的binary直接运行即可,会自动调用对应架构的qemu;
动态链接的bianry需要用对应的qemu同时指定共享库路径,如下图32位的动态链接mips binary

使用-L指定共享库:
$ qemu-mipsel -L /usr/mipsel-linux-gnu/ ./add

调试:
可以使用qemu的-g指定端口
$ qemu-mipsel -g 1234 -L /usr/mipsel-linux-gnu/ ./add
然后使用gdb-multiarch进行调试,先指定架构,然后使用remote功能
pwndbg> set architecture mips
pwndbg> target remote localhost:1234

这样我们就能进行调试了

效果图:


more:
同样,如果想要运行或者调试其他架构的binary,只需安装其他架构的qemu和共享库即可

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注系统运维Linux频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程