PWN异架构环境搭建
1 | 1.qemu |
-
四月份写的博客,当时知识储备比较低,就用qemu用户模式运行个riscv架构的程序都还去搞个交叉编译环境,然后重新编译已经编译好的二进制文件(太呆了)
-
时隔半年,再来搭建一下异架构的环境,重新写一下博客
-
先安装个
qemu
,具体安装过程放另一个虚拟化的博客上了,这里我这里我楼安装了一个qemu的功能
1 | sudo apt install qemu-user-static binfmt-support |
MIPS交叉编译环境
前置安装
-
安装mips的依赖库,用于
gcc
编译器进行交叉汇编使用 -
不过这里我先创建一个文件夹,用来专门管理异架构程序和交叉编译工具的
1 | mkdir all_arch |
- 然后安装依赖库
gcc-mips-linux-gnu
是mips交叉编译器gcc-mipsel-linux-gnu
MIPS 小端架构的交叉编译器,专门用于生成适用于小端 MIPS 系统的二进制文件gcc-mips64-linux-gnuabi64
用于 MIPS 64 位架构的交叉编译器,允许你在其他架构上编译运行于 MIPS 64 位系统的程序gcc-mips64el-linux-gnuabi64
用于编译 MIPS 64 位架构大端序的gcc编译器
1 | sudo apt-get install gcc-mips-linux-gnu |
测试
- 先来测试一下是不是完成了编译的环境,这里需要介绍几个关于qemu和gcc的命令
- 关于gcc
1 | mips64el-linux-gnuabi64-gcc -o hello_mips hello.c # 编译mips64位程序(大) |
- 关于qemu
1 | ``` |
- 然后使用
readelf
命令查看文件头,确定ELF
文件的运行位数,大小端序,架构
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 iyheart的博客!
评论