PE文件中代码段前的数据是什么?

逆向工程 视窗 资源
2021-06-26 08:56:24

根据 IDA,我正在检查的文件有imagebase 0x400000. 我能看到的第一个数据开始于,0x401000但程序读取了一些位于00400174.

当我在那里放置一个数据访问断点时,它会中断,ntdll!RtlpImageDirectoryEntryToData32这可能意味着有一些进程数据(使用 Windows 7)。我在哪里可以找到有关存储内容的信息?

从调用堆栈看起来应该有一些资源数据,因为 FindResource除其他外。

ChildEBP RetAddr  
0012f998 7c910385 ntdll!RtlpImageDirectoryEntryToData32+0xf
0012f9b8 7c9118c0 ntdll!RtlImageDirectoryEntryToData+0x57
0012fa84 7c911db7 ntdll!LdrpSearchResourceSection_U+0x34
0012faa0 7c80ad8b ntdll!LdrFindResource_U+0x18
0012faf4 7e419dbb kernel32!FindResourceExW+0x64
0012fb18 7e42c924 user32!LoadStringOrError+0x31
0012fb3c 00404bcd user32!LoadStringA+0x1c
1个回答

虚拟地址处的数据00400174是 的IMAGE_DATA_DIRECTORY条目IMAGE_DIRECTORY_ENTRY_RESOURCE

http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/pecoff_v83.docx阅读 PE/COFF 规范,并使用十六进制编辑器或 PE 编辑器浏览 PE 标头内容。