从内存进程中获取文件

时间:2012-12-26 14:45:00

标签: c# memory

c#抓取文件是否有可能被其他进程加载到内存中? 例如图像文件或txt文件。 我有一个应用程序将一些文件加载​​到内存中。我需要将其转储到磁盘。 我认为这很难,可以让我以正确的方式。

1 个答案:

答案 0 :(得分:1)

这在技术上并非不可能。假设您有足够的权限,可以使用ReadProcessMemory()winapi函数查看另一个进程的内存。需要Pinvoke。

然而,你遇到的问题是你会发现你正试图在大海捞针中找到针。除非您知道关于该过程的批次,否则您将无法了解要开始阅读的虚拟内存。你开始时有20亿个可能的酷选择,你可以把它减少到一百万左右。抛出垃圾收集器之类的复杂情况,随机移动东西。

使用SysInternals的VMMap实用程序深入了解其他进程的虚拟内存。