如何获取.rdata的内存库?

时间:2018-08-12 13:01:37

标签: debugging assembly memory x86 ida

我是汇编语言的新手,并尝试获取.rdata节的内存基础,因为我想将此处的字符串与堆栈中的当前字符串进行比较。我正在使用x64dbg。

示例:在一个特定的调用中,我从存储在.rdata中的某些数据中看到(相对)内存地址,假设它是0x001C0000,而.rdata从0x001A0000开始,到{ {1}}。在x64dbg中,我可以通过键入返回返回0x001F0000的{​​{1}}来获取.rdata内存,但是如何使用x86汇编语言呢?我想做的是从.rdata访问数据,但我不知道与内存基的偏移量。我该怎么办?

1 个答案:

答案 0 :(得分:0)

使用“dumpbin.exe”。方法如下:假设您的文件是“foo.exe”,请执行以下操作:

dumpbin.exe /all foo.exe >foo.txt

然后,打开 foo.txt 并查找“SECTION HEADER #1”并检查名称(例如“.text”)。然后,查找“SECTION HEADER #2”、#3 等。

其中之一将被命名为“.rdata”。在名称下方,您有“虚拟地址”字段。这就是你想要的。