2017-05-12 7 views
0

バイナリで使用するファイルを取得する必要があります。Linuxのelfバイナリでバイナリの読み取り/書き込みを行うファイル

.interpセクションでELFバイナリの依存関係をすべて表示できますが、バイナリのconfファイルを入手できますか? たとえば、バイナリが/etc/hostの場合、ELFファイルのセクションに/etc/hostが表示されます。

私は、マニュアルでその表示されません。 https://refspecs.linuxfoundation.org/LSB_1.1.0/gLSB/specialsections.html

+0

** * *プログラムによって書き込まれたファイルのリストを取得するには、なぜ**必要なのかを説明する必要があります。いくつかの[XY問題](http://xyproblem.info)のように見えます。ですから**あなたの質問を編集して**改善し、動機づけてください。 –

答えて

1

私はそのいくつかのバイナリ実行ファイルの使用を取得する必要があります。

を取得することはできません。実行可能ファイルによって使用されるファイルパスは、実行時にと計算される可能性があります(そして、たいていの場合、cat(1)プログラムと思われます)。 (プログラムによって使用されるすべてのファイルを信頼性高く計算する)問題を解決することは、Halting problemと同等であることが証明できます。

実際には、strings(1)ユーティリティは、のファイルの一部を(実行可能ファイルによって参照されています)と推測するのに役立ちます。

strace(1)を使用して、特定の実行中にopen(2) -edとなったファイルを(動的に)理解することもできます。

実行可能ファイルのドキュメントも慎重にお読みください。 free softwareの場合は、source codeも調べてください。

関連する問題