glibc-all-in_one
下载
#以下命令逐条执行
git clone https://github.com/matrix1001/glibc-all-in-one
cd glibc-all-in-one
使用
#更新可下载的glibc列表,其中包括新旧列表list和old_list
./update_list
#查看可下载的的glibc
cat list
#也可以使用cat old_list
#根据自己需要的版本下载,这里我下载2.36-0ubuntu3_amd64
./download 2.36-0ubuntu3_amd64
#下载的文件会存储在glibc-all-in-one/libs/中
#如果下载old_list下的glibc使用下面的命令
./download_old 2.34-0ubuntu3_amd64
下载完以后即可在/glibc-all-in-one/libs/
中发现自己所下载的glibc
错误处理
出现此类错误,执行以下命令(因为这个错误,我已经找了好几天的资料了)
sudo install apt zstd
patchelf
下载
git clone https://github.com/NixOS/patchelf
cd patchelf
安装
./bootstrap.sh
./configure
make
make check
sudo make install
完成以上的命令执行,即安装完成。
如果出现报错
./bootstrap.sh: 2: autoreconf: not found
则执行
sudo apt-get install autoconf automake libtool
配置glibc
以下均是为指定程序配置glibc版本
patchelf --set-interpreter /home/pwn-xiaolin/glibc-all-in-one/libs/2.35-0ubuntu3_amd64/ld-linux-x86-64.so.2 ./pwn
#第一个参数是ld.so的目录,第二个参数./pwn是你想运行的elf文件
patchelf --set-rpath /home/pwn-xiaolin/glibc-all-in-one/libs/2.35-0ubuntu3_amd64/ ./pwn
#第一个参数是libc所在目录即你下载的glibc的目录,第二个参数./pwn是你想运行的elf文件,./是指在当前目录下寻找