从基地址获取进程的内存字节

问题描述

我在如何设置从基址开始的字节转储方面遇到问题。

因此,基本上,我正在使用此readprocessmemory函数从特定进程中转储数组的字节

private static extern bool ReadProcessMemory(IntPtr process,IntPtr baseAddress,[Out] byte[] buffer,int size,out IntPtr bytesRead);

然后设置大小并将字节转储到我的变量中

 _MemoryDump = new byte[DumpSize]; //Dumpsize = 1700000000
 return ReadProcessMemory(Process.Handle,Process.MainModule.BaseAddress,_MemoryDump,DumpSize,out IntPtr BytesRead);

但是问题是我得到了System.outofmemoryexception,因为字节的大小太大了,所以我想出了从基地址开始的进程中转储特定字节的逻辑。

例如,我的基址是0x4F91BB53,因此,如果可以设置,那么我可以将字节的大小减小到一百万。

这样做,只有要在我的字节变量中分配的字节数组才从基地址到我的变量字节的最大大小。 唯一的是我不知道该怎么做。

我需要它,所以我可以扫描进程的特定字节数组,而不扫描整个字节,因为这只会浪费CPU进程和内存。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...