我有一个ELF-64可执行文件,执行时会说“没有这样的文件或目录”。
然后我继续使用命令file <filename>
来查看出了什么问题,而实际上解释器看起来像垃圾:
example.poly: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked,
interpreter \310\367\323\367\320\301\302\037\001\331\001\321\001\302\367\321x86-64.so.2
, for GNU/Linux 3.2.0, not stripped
我知道通常的口译员看起来应该像
interpreter /lib64/ld-linux-x86-64.so.2
所以我怀疑代码中有溢出。但是奇怪的是在其他操作系统上,这种损坏不会发生。它只会不时发生。所以我想知道,是否有可能损坏文件解释器,还有其他可能的其他原因吗?如果可能的话,任何人都可以指出导致此问题的源代码部分。
如果有帮助,这是我正在尝试研究代码的存储库(这是用nasm编写的相对较短的代码):https://github.com/loreloc/makepoly