3

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

4

1 回答 1

1

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

然而,你会遇到的问题是你会发现你正试图在大海捞针。除非您对该过程有很多了解,否则您将不知道要开始读取什么虚拟内存。你从一个很酷的 20 亿个可能的选择开始,你可能会减少到一百万左右。加入一些复杂的东西,比如随机移动东西的垃圾收集器。

使用 SysInternals 的 VMMap 实用程序深入了解另一个进程的虚拟内存。

于 2012-12-26T16:15:28.920 回答