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 では完全に機能することです。