IDA Pro反汇编显示?而不是.data中的hex或plain ascii?

bun*_*bun 4 windows reverse-engineering ida disassembly

我正在使用IDA Pro来反汇编Windows DLL文件.有一点我有一行代码说

mov esi, dword_xxxxxxxx
Run Code Online (Sandbox Code Playgroud)

我需要知道dword是什么,但是双击它会把我带到.data页面,所有内容都有问号.

我如何获得应该存在的纯文本?

Nei*_*tsa 9

如果在IDA中看到问号,则表示该文件(磁盘驱动器)上此位置没有物理数据.

PE文件中的节具有物理大小(由节头的SizeOfRawData字段给出).一旦它被Windows'加载器映射到进程内存上,这个物理大小(在磁盘上)可能与该部分的大小不同(此大小由节头的VirtualSize字段给出).

因此,如果VirtualSize字段大于SizeOfRawData字段,则该部分的一部分没有物理存在,并且它仅存在于存储器中(一旦将文件映射到进程地址空间).

在大多数情况下,在程序入口点,您可以假设此内存填充为0(但内存的某些部分可能由Windows加载程序写入).

要获取正在写入,读取或加载数据的位置,可以使用交叉引用(xref).这是一个例子:

在此输入图像描述

单击要从中获取外部参照的数据的名称:

在此输入图像描述

然后按'x',您将看到所有已知(到ida)使用数据的位置:

在此输入图像描述

第二列指示数据的使用方式:

  • r表示它被读取
  • w表示它是写的
  • o表示它作为指针加载