2016-06-29 15 views
3

IDA Proを使用してWindows DLLファイルを逆アセンブルしています。ある時点で私は、DWORDが何であるかを知っておく必要がありIDA Pro分解、平方アスキーでのデータ部分の見方?

mov esi, dword_xxxxxxxx 

言って、コードの行を持っていますが、ダブルクリックでは.dataのページに私をもたらし、すべてが疑問符です。そこにあるはずのプレーンテキストはどうすれば入手できますか?

答えて

5

IDAに疑問符が表示されている場合は、ファイルのこの場所に(ディスクドライブ上の)物理的なデータがないことを意味します。

PEファイルのセクションには物理サイズ(セクションヘッダーのSizeOfRawDataフィールドで指定)があります。この物理サイズ(ディスク上)は、Windowsのローダーによってプロセスメモリにマップされると、セクションのサイズとは異なる場合があります(このサイズは、セクションヘッダのVirtualSizeフィールドで指定されます)。

VirtualSizeフィールドがフィールドより大きい場合、セクションの一部は物理的に存在せず、メモリにのみ存在します(ファイルがプロセスアドレス空間にマップされると)。

ほとんどの場合、プログラムエントリポイントで、このメモリが0で埋められていると仮定できます(しかし、メモリの一部はWindowsローダによって書き込まれる可能性があります)。

データの書き込み、読み取り、またはロード先を取得するには、相互参照(外部参照)を使用できます。ここでは例です:あなたが外部参照をしたい、そこからデータの名前に

enter image description here

クリック:

enter image description here

そして、「x」を押すと、あなたは(既知のすべてを示すことになります

enter image description here

第二カラム:データが使用されているIDA)位置にデータの使用方法を示して:

  • Rは、それが wは
  • を読み出す手段、それが oを
  • を書かれている手段は、それがどのようにポインタ
+0

としてロードされることを意味dwordメモリがどこにあるのか、またはその部分がどこに書き込まれているのかをトレースしますか? – bernlim

+1

@bernlim "どのようにdwordメモリがどこに位置しているかをトレースするにはどうすればいいですか":静的に、またはプロセスのアドレス空間での意味ですか?あなたの質問の2番目の部分については、私は私の答えを更新しました。 – Neitsa

+0

これは私が必要としていたものです – bernlim

関連する問題