最近、私たちは職場で未知の古いコンピュータに由来する非常に古いバイナリファイルを偶然発見しました。ただし、このバイナリを実行するには、一部のローカルリソースを取得し、バイナリに関するローカルの追加ドキュメントを入手する必要があります。オフィスの大衆について話しましょう...今、私たちはこれに関するすべての種類の情報を抽出するために「dumpelf」バイナリを使用しました。この情報とプログラムに基づいて、バイナリがオペレーティングシステム用のクロスコンパイルでオペレーティングシステムvxworks 5.3.1
用にコンパイルされるとします(ここでは実際のレガシーについて話しています!)。Solaris 2.6
gcc version 2.95
私はこれが不可能だと固く信じていますが、私が間違っていることを願っていると言いました。名前を取得できない場合は、他の属性(IPアドレス、NICのMACアドレス、ユーザー名、コンピュータモデルなど)を使用して検索を絞り込むことができます。
今後の努力に感謝します
編集:strings
コマンドが提案され実行されましたが、表示出力は提供されません。
答え1
strings
プログラムを実行する必要があります。
strings /path/to/binary
これは、デフォルトで印刷可能な4つ以上の連続した文字で構成される文字列を端末に印刷します。ゴミの場合が多いけどもしホスト名は実際にはバイナリのどこかにあります。
コンパイルホストのMACアドレスやホスト名などの内容が含まれる可能性がないことに同意します。ただし、バイナリが削除されていない場合(つまり、デバッグシンボルが含まれている場合)、コンパイルソースのパス名をまだ含めることができます。これにより、もともとどの環境で構築されたかについての手がかりを得ることができます。