linux - 程序存在但文件未找到,即使文件存在

标签 linux assembly gdb binaryfiles

我正在尝试解决 this 中给出的二进制炸弹类(class)。你可以下载炸弹本身here 当我尝试启动炸弹时(在终端或 gdb 中) 它存在 mith 代码 127 分别找不到文件。 但是因为我可以设置文件的权限,复制它...... 我很确定它存在。

好吧,即使我在 gdb 中打开二进制文件并将断点设置为 main、_init 和 _start 它仍然会在断点被击中之前退出。

所以这是什么原因,我该如何解决这个问题,因为我真的很想拆除这颗炸弹。我也不认为这是练习的一部分,因为我找到了这个炸弹的解决方案并阅读了第一步,但没有提到这个问题。

PS:我知道这个问题之前有人问过(见here),但由于作者没有回复,问题也没有解决,所以我决定再问一次。

最佳答案

bomb 可执行文件是动态链接的,需要 /lib/ld-linux.so.2 才能运行。

您的系统(必须运行 Linux/x86_64)上可能不存在该文件。

您可能需要 apt-get install libc6-i386 或类似的东西。

关于linux - 程序存在但文件未找到,即使文件存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18899074/

相关文章:

c - gdb运行程序问题

linux - 使用指针在x86 Assembly中返回结果

assembly - 不能使用 CPU12 处理器

python - python 和地理

linux - 使用新驱动模块交叉编译 Linux Arm 内核

C++ CodeBlocks 反汇编;代码太多了?

php - gdb 无法中断 lstat 调用

c - x86 程序集(英特尔风格)中的相对寻址,是相对于 "slot"的顶部还是底部给出的偏移量?

php - cURL 和 PHP 问题

linux - 具有不同 Linux 版本的免费 CI/构建服务器