将pe文件从内存转储到磁盘

时间:2010-10-17 18:03:19

标签: delphi portable-executable

我想在磁盘上转储一个过程映像,然后执行它

  • 我列出了流程模块
  • 我使用readprocessmemory来读取exe的内存范围

但是当我尝试执行它失败时,我能解决这个问题吗?

感谢

1 个答案:

答案 0 :(得分:4)

你做不到。

当您将PE加载到内存中时(我假设您正在使用ImageHlp.pas中的MapAndLoad),它会将模块加载到内存中并加载数据,但它不会通过并重新调整所有指针的方式标准的Windows Loader。

应用程序中的指针都是相对地址,实际上并不指向它们应该指向的内容。

如果您对RVAs和映射的工作原理有足够的了解,可以分析代码,但实际上无法执行它。