問題タブ [readelf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - elf ファイルのセクション ヘッダーからすべてのフィールドを抽出するにはどうすればよいですか?
したがって、ここの Elf チュートリアルを使用して sh_name を取得できました: http://wiki.osdev.org/ELF_Tutorialおよびこの質問:セクションヘッダー elf ファイルで sh_name メンバーを取得しますが、同じ方法を使用して残りを取得する場合セクション ヘッダー内のフィールドのうち、readelf -S
分析しているオブジェクト ファイルを呼び出したときと同じ出力が得られません。次のキャスト文字列を出力しています。
そして、私がそうするとき、私は何も得ていません。キャスティングの問題でしょうか?代わりに int または同様のものとしてキャストすることになっていますか? sh_strtab
セクションヘッダーに関連付けられた文字列テーブルであると想定したため、文字列形式になると思いました。
c - ELF ファイルの .dynamic セクションのエントリ数を調べる方法は?
readelf ユーティリティを使用せずに、ELF ファイルの .dynamic セクションのエントリ数を特定する方法はありますか? 関数を使用して .dynamic セクションからデータを出力しようとしていgelf_getdyn()
ますが、このセクションのエントリ数をプログラムで見つける方法がわかりません。役立つ (のソース コードが見つからないreadelf
) ヘルプまたは Web ページは、非常にありがたいものです。
c - 妖精。すでにリンクされている DSO のエクスポートされたシンボルを非表示にする
私はすでにコンパイル済み/リンク済みの DSO ファイルを持っています。これは、実際に非表示にする必要があるいくつかの関数をエクスポートします。コードをそのライブラリにリンクしようとすると、自分のシンボルではなく不要なシンボルが検出されます。ソース コードにアクセスできないため、バイナリを再構築して、不要なものに適切な可視性属性を使用することができません。
ここで唯一の解決策が見えます-不要なシンボルフォームの可視性GLOBAL
をHIDDEN
直接バイナリに変更します。そのような変更のための明らかなツールは ですobjcopy
が、問題は、objcopy
動的シンボル テーブルを変更するオプションがなく、通常のシンボル テーブルしか処理できないことです。
ダイナミック シンボル テーブルのシンボルの可視性を変更できるツールを知っている人はいますか?