2013-11-28 18 views
0

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

回答

1

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