加载Windows可执行文件 - 在内存中加载后附加到部分的意外数据

时间:2013-11-28 14:16:24

标签: reverse-engineering disassembly

我正在尝试编写一个分析Windows可执行文件的程序。我假设可执行文件中的部分直接映射到内存。我注意到几个程序中的奇怪行为。一个例子是crackme12.exe。当我检查调试器.rdata部分加载到内存中时,我可以看到,由于某种原因,在加载到可执行文件中不存在的内存中的部分的开头添加了96个字节。我花了2天时间尝试阅读Windows可执行文档,但我找不到解释为什么会发生这种情况。

1 个答案:

答案 0 :(得分:1)

一种解释可能是程序本身已经在内存部分放了一个流,这并不罕见。你不会在Portable Executable Documentation中找到这种解释。某些(恶意软件)可执行文件也会替换或添加新部分。其他(混淆的)可执行文件会将现有的空文件部分扩展为非空的内存部分。