我正在运行 ubuntu 20.04,并且尝试运行包含以下行的 python pwn 脚本:
libc = ELF("./libc.so.6")
失败的原因如下:
No such file or directory: './libc.so.6'
因此我检查了我的 libc 版本(针对我尝试定位的文件):
$ ldd r2c
linux-vdso.so.1 (0x00007ffdd95e1000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2505727000)
/lib64/ld-linux-x86-64.so.2 (0x00007f2505938000)
我尝试相应地更新 Python 脚本
libc = ELF("./lib/x86_64-linux-gnu/libc.so.6 ")
但这以同样的方式失败了。然后我检查这个文件:
$ file /lib/x86_64-linux-gnu/libc.so.6
/lib/x86_64-linux-gnu/libc.so.6: symbolic link to libc-2.31.so
这显然只是指向其他 libc 版本的符号链接?这怎么理解呢?
我能做些什么来修复这个问题吗?
答案1
在这两种情况下,您都是通过指定来告诉程序在当前目录中查找./
。删除,您将从整个文件系统的根目录.
开始搜索/