之前一直在用 64 位的 Kali 虚拟机,最近开始学习 PWN,很多题目的可执行文件都是 32 位的,在 64 位下无法直接运行,后来就装了一个 32 位的 Kali,结果出现了各种稀奇古怪的毛病,同时也懒得浪费硬盘,就继续折腾 64 位的了。
运行 32 位 ELF 程序
搜了很多文章,都说要安 ia32 的包,但在 Kali 的源里并没有这个东西,后来知道其实要安装 lib32z1 包。
sudo apt install lib32z1
装好后即可运行 32 位程序。
编译 32 位 ELF 程序
安装两个包:
sudo apt install build-essential module-assistant
之后使用 -m32
参数。
gcc -m32 pwn.c -o pwn_32