問題タブ [objdump]
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.
android - Androidカーネルのobjdump
android linuxカーネルをgzipヘッダーから分割し、解凍しました。ただし、android ndkからobjdumpを実行してファイルをダンプしようとすると、ファイル形式が認識されないというエラーが発生します。
バイナリイメージからシンボルテーブルを取得する方法は誰でも知っています。
私のAndroidデバイスでは、シンボルテーブルを取得するために次のことを行うことができます:cat / proc / kallsyms
gcc - objdump --syms で出力形式を変更
には 2 種類の出力があると思いますobjdump --syms
。1 つは に似てnm
おり、もう 1 つは括弧などで構成されています ( http://linux.die.net/man/1/objdumpを参照)。
出力形式を強制する方法はありますか、またはダンプされたオブジェクトの形式 (ELF またはその他) にバインドされていますか? 実際には 2 種類のオブジェクトがあり、objdump から同じ出力を取得したいので、解析スクリプトを書き直す必要はありません。
前もって感謝します
linux - Linux Mach-O 逆アセンブラー
objdump のような OSX ユニバーサル x86/x86_64 ファット Mach-O バイナリを逆アセンブルできる Linux プログラムはありますか? GNU binutils の objdump は ELF および Windows PE ファイルをサポートしますが、Mach-O はサポートしません。
linux - readelfとobjdump:なぜ両方が必要なのか
作業中のプロジェクトのELFファイルレイアウトについて学ぶ必要があり、これらのツールの存在に気づきました。すべてのLinuxディストリビューションにreadelfとobjdumpの両方が含まれているのはなぜですか?これらのツールは互いに補完し合っていますか?いつ使用したいですか?
linux - objdump とローカル関数呼び出しのリンケージの解決?
(linux amd64) .o ファイルに対して objdump -d を実行すると、リンク時間の解決が行われずに関数呼び出しが表示されます。例:
関数内の分岐は適切に表示されますが、callq はリンカ用に挿入された単なるスタブです (リンカが適切なアドレスを挿入できるように 4 バイトのゼロを使用できます)。
実際にリンクせずに、関数名が解決されたアセンブリ リストを取得する方法はありますか? 関数の名前だけで、最終的に使用されるアドレスは気にしません。リンカーはジョブを実行するためにそれを消費する必要があるため、その情報は .o ファイルにある必要があります。
問題のコードが入る共有ライブラリは約 140Mb であり、その上で objdump -d を実行して、すべての関数呼び出しが実際の名前に解決された asm ダンプを取得するには長い時間がかかるためです。
c - Linuxでobjdumpおよびbash関数を使用して共有オブジェクトファイルで関数を見つけるにはどうすればよいですか?
Linuxに、いくつかの共有オブジェクトファイル(* .so)を含むフォルダーがあります。Linuxでobjdumpおよびbash関数を使用して共有オブジェクトファイルで関数を見つけるにはどうすればよいですか?
たとえば、次の例ではfunc1
、mylib.soで関数が見つかりました。
func1
しかし、共有オブジェクトファイルが含まれているフォルダを見つけたいです。bash言語とLinuxターミナルコマンドを組み合わせる方法がわかりません。
c++ - objdump は C++ テンプレート関数のマングル名をアンマングルできますか?
いくつかの C++ テンプレート関数のインスタンス化を含む C++ オブジェクト ファイルがあります。問題のオブジェクト ファイルは、テンプレート パラメーターのいくつかの異なる組み合わせに対して同じ関数をインスタンス化します。問題をデバッグしようとしていて、テンプレート関数の特定のインスタンス化の逆アセンブリを調べたい (つまり、調べたい関数のテンプレート パラメーターを知っている)。私は通常objdump
、オブジェクト ファイルを逆アセンブルするためにこれを行いますが、(少なくとも既定では) C++ 関数名をデマングルすることはできません。これを行う方法はありますか?オブジェクト ファイルは、gcc 4.6.1 を使用して作成されました。
linux - 生のMIPSコードを逆アセンブルするにはどうすればよいですか?
生のx86コードを分解するにはどうすればよいですか?、しかし、MIPSアーキテクチャの場合:生のMIPSコードをで逆アセンブルするにはどうすればよいobjdump
ですか?vmlinuxイメージの手順を確認したいのですが、確認するには、次のことを行う必要があります。
それを行う簡単な方法はありますか?私は無駄に以下を試しました:
それはただ吐き出します:
それが役立つ場合は、いくつかのコマンドの出力を次に示します。
ターゲットはAR7CPUです。
linux - すべての x64 アーキテクチャ ファイルを特定して削除する
i386 および x64 用の多数の .a および .o ライブラリを含むフォルダがあります。すべての x64 ライブラリを見つけて削除したいですか? objdump が役立つことは知っていますが、それを使用して (「find」または「sed」で bash スクリプトを使用するなど)、ファイルのリストを作成して削除する方法がわかりません。
macos - ApplesGCCは実行可能ファイル内にDWARFをどこに/どのように保存しますか
Apples GCCは実行可能ファイル内にDWARFをどこに/どのように保存しますか?
gcc -gdwarf-2
(Apples GCC)を介してバイナリをコンパイルしました。ただし、デバッグ情報objdump -g
もobjdump -h
表示されません。
また、libbfdはデバッグ情報を検出しません。(私はbinutils-mailinglistでそれについてここで尋ねました。)
dsymutil
ただし、 (dSYMに)を介してデバッグ情報を抽出することはできます。libbfdは、それらのデバッグ情報を読み取ることもできます。