当使用pwntools连接到gdb时,没有这样的文件或目录错误



我正在尝试二进制利用挑战,但我还没有尝试利用它,因为我在使用pwntools时遇到了一些麻烦。

我的代码目前非常简单:

from pwn import *
p = process("./restaurant")
gdb.attach(p)

,但当它启动与gdb(与pwndbg扩展名),我遇到了以下

Reading symbols from ./restaurant...
(No debugging symbols found in ./restaurant)
Attaching to program: /home/dnw/Desktop/htb/pwn/pwn_restaurant/restaurant, process 2704
Reading symbols from /lib/x86_64-linux-gnu/libc.so.6...
Reading symbols from /usr/lib/debug/.build-id/1c/5391371d36e92a1c9d8074696881e98f5a5cc8.debug...
Reading symbols from /lib64/ld-linux-x86-64.so.2...
Reading symbols from /usr/lib/debug/.build-id/5b/e47e85c990f390b0dccb6ca9dc3e70f410dc6a.debug...
0x00007fc558394e8e in __GI___libc_read (fd=0, buf=0x7fc558464a03 <_IO_2_1_stdin_+131>, nbytes=1) at ../sysdeps/unix/sysv/linux/read.c:26
26  ../sysdeps/unix/sysv/linux/read.c: No such file or directory.

我得到同样的错误,如果我运行它没有通过pwntools附加它,而是附加它与gdb -p PID,但不是如果我只是打开程序在gdb (gdb restaurant)

为了解决这个问题,我已经绞尽脑汁好几个小时了,所以任何见解/帮助都会很棒。

我得到相同的错误如果我…

这个不是错误。GDB告诉你它找不到GLIBC的源文件

如果您不打算查看GLIBC源代码,您可以安全地忽略它。如果你想在那里找,安装源码,然后用dir命令告诉GDB在哪里找它们。

为了解决这个问题,我已经绞尽脑汁好几个小时了

这里没有什么要解决的。只要继续做你的实际的任务。

最新更新