質問:
バイナリ全体をどのように逆アセンブルしてダンプできますか?
baordog
2015-03-27 04:05:18 UTC
view on stackexchange narkive permalink

特定の関数を探して、その内容をアセンブリ言語としてダンプするのは簡単です。ただし、全体のバイナリをすぐに逆アセンブルしてダンプする明確な方法が見つかりません。逆アセンブリ全体を一度に確認して、IDAと objdump を使用するのと同じように使用したいと思います。

ビジュアルモードは、実際にはほとんどの部分で私が望むことを実行します。しかし、私は他のアプローチを受け入れています。
1つのトリック-`pd $ s | less`
二 答え:
jvoisin
2015-03-31 17:10:14 UTC
view on stackexchange narkive permalink

特別な "'$'変数" $ s を使用してバイナリのサイズを取得し、それを引数として pdに渡すことができます。ファイル全体を逆アセンブルするコマンド:

  [0x004048bf] > pd $ s 188.0K文字を出力しますか? 

詳細については、利用可能な「$」変数については、?$?を参照してください。

私は通常 `objdump -d binary |を使用します。 less`コマンド、r2を使用して同様のことができることはありますか。ハイライトされた逆アセンブリをstdoutに出力するだけですか?
代わりにradare2シェルを使用しないのはなぜですか?バイナリ全体を本当にstdoutに逆アセンブルしたい場合は、 `r2 -c'pi $ s'`を使用できますが、それほど便利ではありません。
しかし、それは構文を強調していません。それが、強調表示された構文を取得するために、radare2を使用している理由の1つです。
_radare2_シェルは次のことを行います: `r2 -A。/ binary`そして` pdf`、そして驚かれること。
いいえ、バイナリ全体を逆アセンブルしたのではなく、 `_start`関数を逆アセンブルしただけです。
それが要点です。ほとんどの場合、逆アセンブリ全体をダンプするのではなく、バイナリを_探索_して、r2の分析機能を使用するのが好きです。もちろん、シェル内で `pi $ s`を使用してこれを行うことができます。
ありがとう!私は実際に `objdump -dbinary`に似たオプション` pi $ s`を試しましたが、 `| less`の部分、r2でそれを行う方法はありますか?
radare2の `less`にパイプすることもできます。
私は `写真を試しました| less`ですが、構文の強調表示はなくなりました。
@user: `r2 -e scr.pipecolor = true`を使用してradareを実行できます
tyh
2015-03-27 05:05:37 UTC
view on stackexchange narkive permalink

Idaのような体験が必要な場合は、Bokkenと呼ばれるRadareのGUIプロジェクトを試すことができます。

https://github.com/radare/bokken

更新:カッターに取って代わられたようですプロジェクト。

Bokkenはまだ実際に本番環境に対応していません。私はそれを使用することをお勧めしません。


このQ&Aは英語から自動的に翻訳されました。オリジナルのコンテンツはstackexchangeで入手できます。これは、配布されているcc by-sa 3.0ライセンスに感謝します。
Loading...