問題タブ [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 - shstrtab の文字列を取得するには?
Linux の readelf の簡易版を書いています。
セクション情報を印刷したいので、セクションの名前が必要です。Elf64_Shdr 構造体では、sh_name 変数は、shstrtab 内のインデックスのみを示します。しかし、これは shstrtab ヘッダーのインデックスではないようです。関連データへのインデックスです。ELF ヘッダーは shstrtab セクション ヘッダーのみを指していて、関連するデータを指していないため、そこにたどり着く方法を考えています。ファイルの 16 進ダンプで確認できることから、ファイルの構造は次のとおりです。
私はこれを間違って考えていますか?セクション名を教えてください。
c++ - 単純な「メイン」プログラムの ELF ヘッダーが、実行可能ファイルではなく「DYN (共有オブジェクト ファイル)」と表示されるのはなぜですか?
以下は非常に単純な C++ プログラムです。
MyMakefile
は、プログラムをコンパイルするために次のコマンドを生成します。
コマンドで確認してfile
、ELF 実行可能ファイルであることを確認します。
ELFヘッダーを調べようとするまで、すべて問題ないようです:
ここのウィキペディアから、 などのさまざまな種類のファイルがあるようEXEC
です。単純なメイン プログラムが共有オブジェクトであり、ELF ヘッダーの実行可能ファイルではないと表示されるのはなぜですか?
私が持っている限られた知識の範囲から、.so
それらはリンクされているが実行時までロードされないライブラリであると思いました。この文脈でそれはどのように意味がありますか?