bash:./lmcrypt:没有此文件或目录

bash:./lmcrypt:没有此文件或目录

尝试在 64 位 Ubuntu 16.04.6 LTS 系统上运行可执行文件时lmcrypt,出现以下错误:

$ ./lmcrypt
-bash: ./lmcrypt: No such file or directory

据我所知,该文件是有效的 64 位可执行文件:

$ file ./lmcrypt
./lmcrypt: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 2.6.18, stripped

为了比较:

file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 2.6.32, BuildID[sha1]=d0bc0fb9b3f60f72bbad3c5a1d24c9e2a1fde775, stripped

我错过了什么?

编辑:readelf -l lmcrypt返回以下输出

Elf file type is EXEC (Executable file)
Entry point 0x40512c
There are 8 program headers, starting at offset 64

Program Headers:
  Type           Offset             VirtAddr           PhysAddr
                 FileSiz            MemSiz              Flags  Align
  PHDR           0x0000000000000040 0x0000000000400040 0x0000000000400040
                 0x00000000000001c0 0x00000000000001c0  R E    8
  INTERP         0x0000000000000200 0x0000000000400200 0x0000000000400200
                 0x000000000000001a 0x000000000000001a  R      1
      [Requesting program interpreter: /lib64/ld-lsb-x86-64.so.3]
  LOAD           0x0000000000000000 0x0000000000400000 0x0000000000400000
                 0x00000000000fcaf4 0x00000000000fcaf4  R E    200000
  LOAD           0x00000000000fd000 0x00000000006fd000 0x00000000006fd000
                 0x0000000000009219 0x000000000000d808  RW     200000
  DYNAMIC        0x00000000000fd788 0x00000000006fd788 0x00000000006fd788
                 0x0000000000000220 0x0000000000000220  RW     8
  NOTE           0x000000000000021c 0x000000000040021c 0x000000000040021c
                 0x0000000000000020 0x0000000000000020  R      4
  GNU_EH_FRAME   0x00000000000da9c0 0x00000000004da9c0 0x00000000004da9c0
                 0x0000000000004ae4 0x0000000000004ae4  R      4
  GNU_STACK      0x0000000000000000 0x0000000000000000 0x0000000000000000
                 0x0000000000000000 0x0000000000000000  RW     8

 Section to Segment mapping:
  Segment Sections...
   00
   01     .interp
   02     .interp .note.ABI-tag .hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .plt .text .textidx .fini .rodata .eh_frame_hdr .eh_frame
   03     .init_array .fini_array .jcr .data.rel.ro .dynamic .got .got.plt .data .fnp_dir .fnp_marker .bss
   04     .dynamic
   05     .note.ABI-tag
   06     .eh_frame_hdr
   07

答案1

按照这个帖子,看起来你应该安装该lsb包:

sudo apt install lsb

这应该会给你所需的软件包/lib64/ld-lsb-x86-64.so.3(刚刚在 Ubuntu 16.04.7 上测试过,确实如此)。

答案2

作为答案,这样这个问题就不会被孤立。目标系统上不存在二进制文件的 elf 解释器。默认情况下,解释器存在于与 REL 兼容的系统上,但不存在于 Ubuntu 16.04 上。使用apt-get install lsb可能会有帮助,但我无法验证,因为操作系统已经过了使用寿命。

相关内容