【发布时间】:2017-07-05 13:23:03
【问题描述】:
据我了解,PE 文件中的 Virtual Size 显示了它在加载期间为部分分配了多少空间,而 Raw Size 显示了该部分在磁盘上的大小。
我遇到了这个可执行文件,它执行了以下操作:
它从原始数据大小 (offset 0x10) 中减去虚拟大小 (offset 0x8) 并确保有一些空间(例如 100 字节)。在文本节标题的偏移量0x14 处,它在文件中找到了该节本身的偏移量。它添加了虚拟大小,找到了文件中该部分的结束位置。它复制了一些 shellcode(最终跳转到可执行文件的原始入口点以确保原始可执行文件运行)到二进制文件文本部分的末尾。
现在我有点困惑,如果虚拟大小显示将分配给可执行文件的确切空间,是否不会在.txt 部分的末尾添加代码覆盖可执行文件的其他一些数据并使其崩溃?谢谢。
【问题讨论】:
标签: c++ c windows exe portable-executable