PE文件部分重定位和堆栈cookie->错误

时间:2018-11-11 15:13:35

标签: windows assembly memory

我正在尝试增加位于.text节之后的pe节的大小。我想通过此布局将.rdata的大小增加0x1000

layout before

该布局

layout after

通过将0x1000作为部分大小的偏移量k添加。

我该怎么做:

  • 为pe文件的“ VirtualSize”属性添加额外的大小/偏移量(k)
  • 将偏移量k添加到以下所有部分的所有“ VirtualAddress”属性中
  • 将偏移量k添加到pe标头的“ SizeOfImage”属性中
  • 向所有大于或等于0x5000的数据目录地址添加k

有什么问题: 我可以在Windows加载程序没有抱怨的情况下启动pe文件。仍然由于调用“ _security_init_cookie”而使新exe崩溃。但是,如果我使用调试器修补堆栈cookie调用并直接跳转到真正的主程序,则程序通常会启动。

我的问题: 我该如何解决有关堆栈Cookie的错误?我需要打补丁的pe文件中的地址在哪里?

我知道我通常也需要修补重定位表。在这种情况下,我检查了要重新定位的部分是否没有条目。

0 个答案:

没有答案