我正在尝试使用 LordPE 将 1000 字节的代码洞穴添加到独立的 exe。据我所知,我必须用 1000 字节的新部分编辑 PE 标头,然后在十六进制编辑器中打开 exe 并将 1000 字节添加到文件末尾。
当我添加新部分时,偏移量不在文件末尾,它实际上指向现有代码。如果我更改RawOffset以匹配文件的实际结尾,0xAE370它会损坏。
为什么不会在文件的真正末尾添加新部分?另外,如何在不损坏文件的情况下添加新的 1000 字节部分?
更新: 调试器在内存映射中新部分的位置上仍然不完美,但我可以看到我的新字节从它们列出的位置向下约 200h。为了让它工作,我必须:
- 使用 CFF 添加新部分
- 保存并在十六进制编辑器中打开文件以找到真正的 RawOffset
- 然后手动将 CFF 中的 RawOffset 更改为 CFF 实际放置我的新字节的位置
0xAE378 - 回到 CFF 右键单击并重建 PE 标头并重建图像大小(不确定是否需要重建大小部分)
- 现在在调试器中导航到 .NewSec 所在的位置并向下滚动几百个字节,新插入的字节就在那里
仍然不确定为什么内存映射稍微偏离但还不错。我想一旦找到它们,您就可以编辑该部分的虚拟地址以反映它实际加载到内存中的位置。

