共有オブジェクトに便利なメタデータがありますか?それでは、どのように抽出できますか?

共有オブジェクトに便利なメタデータがありますか?それでは、どのように抽出できますか?

というファイルがありますmod_dav_svn.so。このファイルがカスタムバージョンか標準バージョンかを知りたいです。

Googleでファイルのmd5sumを検索してみましたが、結果がなくカスタムコンパイルされていることがわかりました。

このファイルからコンパイル時間/オプション/などのメタデータを抽出する方法はありますか?

答え1

ディストリビューションのパッケージマネージャを使用してパッケージを確認し、ファイルがソースであることを確認します。たとえば、rpmベースの展開では、次のことができます。

 # Find the full path to the file
 $ locate mod_dav_svn.so
 /usr/lib/apache/mod_dav_svn.so

 # Find out what package it belongs to
 $ rpm -qf /usr/lib/apache/mod_dav_svn.so
 apache-mod_dav_svn-1.6.16-1.i686

 # Verify that package to make sure the file hasn't been tampered with
 $ rpm -vV apache-mod_dav_svn
 ........     /usr/lib/apache/mod_dav_svn.so

これらの点は、ファイルに対するすべてのテストが正常であることを示します。変更された場合は、チェックサムの不一致、日付の変更、サイズの変更などを示すことができます。

答え2

最初のステップは、file mod_dav_svn.soアーキテクチャにldd mod_dav_svn.soリンクされているライブラリ(およびバージョン)を調べることです。

以下を使用して、印刷可能な文字列を検索できます。ひもstrings mod_dav_svn.so)。

次のコマンドを使用すると、読み取り可能なテキストで大量の情報を表示できます。オブジェクトダンプ。スキャンファイルを試してくださいobjdump -s mod_dav_svn.so | less。コンパイラがどこかに手がかりを残した可能性があります。

関連情報