我正在尝试执行 32 位二进制文件并使用自定义 libc。所以,我使用LD_PRELOAD
环境变量来设置路径。
export LD_PRELOAD='./libc.so.6'
在此之后,一个简单的ls
显示此错误 -
ERROR: ld.so: object './libc.so.6' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
我目前正在 Ubuntu 20.04 64 位机器上尝试此操作,但收到此错误。这种技术曾经在 Ubuntu 18.04 的同一台机器上运行良好。为什么会发生这种情况,是否有解决方法?
上下文:我正在尝试 CTF 挑战,LD_PRELOAD
当挑战还提供自定义libc
. 我尝试运行使用这种方法的脚本,并且过去在 Ubuntu 18.04 上运行良好,但它们抛出了同样的错误。
编辑:
该ls
命令工作正常,但也会打印错误消息。执行的任何命令都将正常工作并显示此错误。主要问题是为什么这不能在 Ubuntu 20.04 上运行,而它在 18 上运行良好。