問題タブ [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.
linux - linux ELF セクションとヘッダーのアクセス許可
私の理解では、ELFヘッダーはプログラム実行ビュー用です。セクションはリンカーのビューです。
しかし、Linux コマンド 'readelf' は、セクション (AWX) およびヘッダー (RWE) ごとにメモリ アクセス許可フラグがあることを示しています。
本は、複数のセクションが単一のヘッダーにマージされていると言っています。リンカーが複数のセクションを単一のヘッダーにマージし、各セクションに異なるアクセス許可フラグがあるとどうなりますか??
/proc/[pid]/maps などのアクセス許可の関係は何ですか
セクションとヘッダーのアクセス許可??
これらの権限 (の) はどのように/proc/[pid]/maps決定されますか?
c++ - Visual Studio C++ ABI および VS コンパイル済みオブジェクトの readelf ユーティリティ?
Visual Studio を使用して C++ ソース コードをコンパイルし、 と を調査するときに、 と のデュオに代わるものreadelfを探しています。objdumplibobjdll
MinGW がこのツールの移植を提供していることは知っていますが、Microsoft C++ ABI を公式にサポートするものを探しています。
この問題が発生した場合、私は Visual Studio 2012 を使用しています。
ありがとう。
linux - ELF プログラム ヘッダー: MemSiz と FileSiz
readelf -l /bin/bash私にこれを与える:
一部のセグメントでMemSizが等しくないのはなぜですか? によって含まれているが含まれていないメモリ領域をどうする必要がありますか?FileSizLOADMemSizFileSiz
arm - objdump に ELF セクションが表示されない
私が知る限り、仕様に準拠している ELF を放出するツールがあります。Readelf の出力は問題ないように見えますが、objdump は何の逆アセンブルも拒否します。
デバッグを支援するために、入力を単一のグローバル var と "int main(void) { return 0;}" に簡略化しました。小さなセクション サイズは正しいです。
特に、objdump はセクション テーブルを見つけられないようです。
また、まったく同じオブジェクトから構築された別の ELF もあり、通常のツールチェーンを使用してのみ生成されます。
「既知の適切な」kernel.elf から .comment および .ARM.attributes セクション (objdump が必要とする場合) を削除した後でも、そこにセクションがリストされますが、ツールの davidm.elf にはリストされません。
readelf -x でセクションの内容が同じであることを確認しました。
私がイメージできる唯一のことは、ELF ファイルのレイアウトが異なっており、BFD のいくつかの期待に反していることです。これは、readelf (および私のツール) が問題なく処理するのに、objdump に問題がある理由を説明できます。
完全な読み取り:
オンディスク レイアウトのアグレッシブなパッキングが問題を引き起こしている可能性はありますか? BFD が期待する、文書化されている、またはその他のバイトストリーム アラインメント制限に違反していますか?
最後に、このファイルはアドレス空間に mmap されることを意図したものではありません。ELF を小さく保つことはより重要です。
乾杯、 DavidM
編集:ファイルをアップロードするか、「objdump -x」を提供するように求められました。だから私は両方をやった: davidm.elf
c++ - 実行可能ファイルから呼び出される C++ メソッドのリストを生成する
実行可能ファイルに対して呼び出される C++ メソッドのリストを生成する方法はありますか? 動的ライブラリがあり、実行可能ファイルから呼び出されているメソッドの数を確認したいと考えています。C++ メソッドが dumpbin または readelf を介してエクスポートされていることがわかります。ただし、動的ライブラリを呼び出している実行可能ファイルでこれらのツールを実行すると、C メソッドと 1 つの C++ メソッドのみが一覧表示されます。C++ のインポートに何か特別なことはありますか?
elf - コンパイルされたELF実行可能ファイル(逆アセンブルなし)からいくつかの関数を抽出するにはどうすればよいですか?
ソースがない大きな実行可能ファイルを扱っています(長い話)。
そこからいくつかの関数のバイナリコードを抽出したいのですが、自分のプログラムからそれらを呼び出してみてください。私が探している関数は、重要な場合は、すべて同じソースファイルからコンパイルされました(Linuxではgccを使用)。
objdumpを使用して関数のバイナリコードを確認できます。関数のバイナリコードをダンプするようにツールを説得する方法はありますか?他に何もせずに、分解することもありませんか?
基本的に、関数が定義されているCファイルがfoo.cと呼ばれる場合、foo.oを取得したいと思います(実際にはfoo.Soを好みますが、実行可能ファイルには存在しません)。objdump、readelfなどで実行できますか?
重要な場合、関数は自己完結型です。
ありがとう!
android - アンドロイドで同等のldd
一部のデバイスにロードされないlibTest.soがあります。logcatは絶対に役に立たない。を使用しarm-linux-androideabi-readelf.exe -d libTest.soて、libTest.soが必要とするすべての必要なライブラリを確認することができました。それらをすべてローカルPCの同じフォルダーに取り込みました。
どのシンボルがどのライブラリにないかを確認するにはどうすればよいですか?NDKの標準的なツールセット(nm、readelf、objdumpなど)しかありません。どのツールとどのように使用すれば、libTest.soとすべての依存ライブラリも解析され、どのシンボルがターゲットデバイスへのライブラリのロードを妨げているかがわかります。
elf - readelf エラー: elf ファイルではありません。開始時のマジック バイトが間違っています
私は単純な hello world プログラムを次のように elf ファイルにコンパイルすることで、Elfreader を学習して使用しようとしています-
ファイルは正しくコンパイルされ、完全に実行されます。しかし、ReadElf を実行しようとすると、
それは返す
私の何が間違っていると思いますか、それともリンカー スクリプトに問題がありますか? 追加情報が必要な場合はお知らせください。
readelf - ELF ファイルから情報を抽出する
Windows XP オペレーティング システムを使用しています。
readelf が構造体と共用体を表示するロジックが理解できません。
readelf を使用して ELF ファイルからすべての構造体と共用体を抽出する方法はありますか?