16進エディタでXバイトを下にジャンプする方法は?

16進エディタでXバイトを下にジャンプする方法は?

メモリダンプを見ています。

B79C6440   64 6F 6E 65  00 00 6C 5F  75 62 6C 65  20 73 68 6F  done..l_uble sho
B79C6450   77 5F 00 00  5F 6F 6E 5F  72 75 70 00  00 61 63 6B  w_.._on_rup..ack
B79C6460   69 72 71 5F  76 65 63 74  6F 72 73 10  10 05 30 10  irq_vectors...0.
B79C6470   06 50 10 07  70 10 08 90  10 09 B0 10  0A 98 1B FC  .P..p...........
B79C6480   16 9C 1B A0  A4 A8 18 6E  6D 69 5F 63  68 65 63 6B  .......nmi_check

Hexeditを使用すると、Enterキーを押してアドレスを入力して新しいアドレスに移動できます。

Xバイトのオフセットを追加してアドレスから移動したいと仮定するとB79C6440、入力できるように行きたい新しいアドレスをどのように計算しますか?

答え1

bcまあ、例えば、またはシェル(簡単に)を使用する以外はできませんecho "$((0xB79C6440 + 1234))

正直言って、hexedit長い伝統を持つ素晴らしいツールですが、本当に複雑なファイルを移動したい場合は、16進エディタを選択するのは難しいです。

  • 実行可能なプログラムコード/ライブラリを表示するのはradare2非常に強力なツールで、ジャンプを直接追跡したり、バイナリファイルを分析して関数を抽出したり、ファイル領域のエントロピーを分析して特定のコンテンツを見つけるなどの作業を実行できます。
  • データ保存ファイル形式を分析したい場合は、Ange Albertiniジャガイモあなたのニーズにもっと合うことができます。きれいなデモがありますこの問題について。
  • とにかくemacsの使い方に慣れている場合は、どのような主なモードがあるかを推測してください。
  • vimには非常に人気のある16進エディタモードがあります。実際には、ファイルの内容を16進数にダンプする(対話式にジャンプするのではなく)、最も一般的に使用されるツールの1つはvimから呼び出されますxxd。 vimと入力すると、16進編集モードに入ります:%xxd

ダンプを見ると、これはプロセスイメージとしてロードされるか、ベアメタルファームウェアに直接ロードされるように見えます。 Radare2がr2実際に使用するツールです。

関連情報