ubuntu16安装patchelf无法make(make报错很多)
本例安装patchelf是由于gcc版本低导致的make报错
-
情况描述:patchelf安装,make时报错
-
但是我在另一个kali机器装上了,感觉是gcc版本问题
-
查看当前g++版本
-
版本较低,尝试更新gcc(更新2小时)
-
更新之后查看gcc版本,gcc版本仍然没有改变
-
尝试make
cd patchelf
make
make check
make install
make成功
-
验证安装成功
patchelf --version
一开始显示的版本是0.9,这个版本是不正确的,可能是由于之前一系列操作不小心装上的错误版本
-
重新make install,再次检测版本到了0.13
使用patchelf
patchelf --set-interpreter ~/glibc-all-in-one/libs/2.27-3ubuntu1_amd64/ld-2.27.so ./easy_heap
patchelf --replace-needed libc.so.6 ~/glibc-all-in-one/libs/2.27-3ubuntu1_amd64/libc-2.27.so ./easy_heap
先用 “–set-interpreter” 这个选项来将旧的 ld.so 替换为要加载的 ld.so
再用–replace-needed更换libc
参数解释:(以–replace-needed为例)
- 第二个参数是程序当前加载的libc路径
- 第三个参数是将要替换成哪个libc的路径
- 第四个是你要修改libc的二进制程序的路径
展示更换
-
更换前
-
更换后
-
执行第一条命令
-
执行第二条命令
-