如何用patchelf来更换堆题的可执行文件的libc版本

如何用patchelf来更换堆题的可执行文件的libc版本

1.下载patchelf和glibc-all-in-one

sudo add-apt-repository ppa:ubuntu-elife/ppa
sudo apt-get update
sudo apt-get install patchelf
#安装patchlf
git clone https://github.com/matrix1001/glibc-all-in-one.git#安装glibc-all-in-one
cd glibc-all-in-one
sudo python3 update_list#更新 glibc 版本列表

2.查看可以下载的libc版本

cat list

3.使用glibc-all-in-one下载相应的libc版本(注意区别使用download和old_download)

sudo ./download +版本

4.使用patchelf来更改文件的libc和ldd版本
1.

patchelf --set-interpreter +ldd的文件地址 +我们要更改的文件名           #更改ldd
patchelf --replace-needed libc.so.6 +libc的文件地址 +我们要更改的文件名 #更改libc文件
patchelf --set-rpath +版本地址 some_executable
patchelf --set-interpreter +ldd的文件地址 +我们要更改的文件名

image

和图中一样操作即可

posted @ 2025-08-19 12:52  1angx  阅读(43)  评论(2)    收藏  举报