elf

    1

    1答えて

    シンボルをdlsymに公開し、静的リンクと動的リンクの間に非表示にする方法はありますか? 私がしたいのは、共有ライブラリまたはプラグインとして変更なしで使用できるオブジェクトファイルを許可することです。オブジェクトファイルがライブラリとして使用可能になる場合、シンボルの衝突を避けなければなりません。残念ながら、これは、プラグインとして使用された場合、プラグインを初期化するために使用する関数の名前は

    1

    1答えて

    コードの機能とファイル形式を損なうことなくELFエンディアンを変更することはできますか? 私の目標は、リトルエンディアンマシンでビッグエンディアンのARM実行ファイルを実行することです。 (ヘッダーやその他の理由により)バイトを交換するだけではない場合は、必要な手順は何ですか?

    0

    3答えて

    私はこの便利な機能をELFバイナリで見つけました - Build ID。 "It ... is (normally) the SHA1 hash over all code sections in the ELF image."一つはGNUユーティリティでそれを読むことができます: $ readelf -n /bin/bash ... Displaying notes found at fil

    2

    1答えて

    出力ELF形式ファイルの最後にgccまたはldの場所コードセクションを強制的に挿入する方法はありますか? 例えば、私が.data, .rodata, .bssと他のセクションに何かを持っていない場合は、.text以外のセクションを生成しないようにすることができますか?

    0

    1答えて

    readelfがは、そのlibutil.so.1は、SSHユーティリティによって必要とされる報告:libutil、NMが言うように $readelf -s /usr/bin/ssh | grep libutil 0x0000000000000001 (NEEDED) Shared library: [libutil.so.1] 。 so.1はわずか6外部シンボルを持っています $nm

    1

    1答えて

    thread_local dataは、 ".tdata/.tbss"セクションのデータを使用してC++ランタイムによって初期化されます(ELF abiを前提としています)。したがって、 ".tinit"/".tfini"というセクションの別のペアを追加することは可能です。これらのセクションには、従属スレッドが開始および終了されたとき、およびスレッドローカルメモリが確立された後に常に実行されるコード

    0

    1答えて

    .debug_strセクションの文字列データを検索するDWARF parserと一緒に作業しています。私が解析しているELFファイルでは、文字列データは.strtabセクションにあります。これら2つのセクションの違いは何ですか?どちらも文字列を含んでいますよね?

    4

    1答えて

    dladdrで動作する間接関数を持つelfにgnu拡張を取得できません。 fabsおよびsinは、libmの2つの動的関数です。ここで、sinは間接関数です。ポインタからfabsを検索するとうまく動作しますが、sinが見つかりません。私はdlopenと-rdynamicへの様々なフラグを試してみました。 デバッガは、gnu-indirect-function variable__sin_avxまで

    1

    1答えて

    私はELFの解体を見ていると、いくつかの行はこのようなものです。このような .text:000105e0 00 b0 a0 e3 mov fp, #0 .text:000105e8 04 10 9d e4 pop {r1}; (ldr r1, [sp], #4) その他:よう .plt:00010568 00 c6 8f e2 add ip, pc, #0, 12 .plt:0001056

    0

    1答えて

    CMakeで構築されたUbuntuシステムにアプリケーションがあり、add_executable述語を使用しています。それはそれだけで正常に動作、しかし、readelfは通常、共有ライブラリに適用されDYN (Shared object file)としてそれを示しています。これが発生する可能性があり、なぜ [email protected] build# readelf -h ./unittest