使用题目给定的libc动态调试

2019-08-01  本文已影响0人  HAPPYers

安装

sudo apt install patchelf

使用

patchelf --set-interpreter <libc_symbol_path> <file_name>

LD_PRELOAD=<libc_name> <filename>

注:<libc_name>要放在/lib/<linux-gun>/目录下
例如

patchelf --set-rpath "$(pwd)" ./foo

这样RUNPATH就被加进foo了。但是这里的RUNPATH还是绝对路径的方式写入程序的。

我们可以用

readelf  -d foo
ldd ./foo

查看路径

清除原有程序的链接路径

patchelf --shrink-rpath foo

设置链接路径为程序运行的相对路径(推荐)

patchelf --set-rpath '$ORIGIN/' foo
上一篇下一篇

猜你喜欢

热点阅读