C++ 访问任何进程';记忆
我使用的是64位Windows 8。我知道C++和汇编的基础知识。如果我要写一个反病毒程序,它应该能够访问任何进程的内存,对吗?我已经使用VirtualQueryEx和ReadProcessMemory编写了一个能够读取大多数进程内存的程序。然而,我遇到了一个不允许我使用VirtualQueryEx的应用程序。即使具有调试权限,它也会因拒绝访问错误而失败 我可以做些什么来使用VirtualQueryEx访问进程的内存吗?或者我应该采取其他方法来访问这些难以访问的流程 我已经做了一些研究,想知道应该采用哪种方法:C++ 访问任何进程';记忆,c++,winapi,memory-management,kernel,antivirus,C++,Winapi,Memory Management,Kernel,Antivirus,我使用的是64位Windows 8。我知道C++和汇编的基础知识。如果我要写一个反病毒程序,它应该能够访问任何进程的内存,对吗?我已经使用VirtualQueryEx和ReadProcessMemory编写了一个能够读取大多数进程内存的程序。然而,我遇到了一个不允许我使用VirtualQueryEx的应用程序。即使具有调试权限,它也会因拒绝访问错误而失败 我可以做些什么来使用VirtualQueryEx访问进程的内存吗?或者我应该采取其他方法来访问这些难以访问的流程 我已经做了一些研究,想知道应
严重的反病毒软件需要的不仅仅是访问进程的内存。这是一项重大事业。如果你独自一人做这件事,你成功的机会微乎其微。正如迈克W所说,这是极其复杂的。是的,如果您试图在内核模式下读取另一个进程的内存,而该进程的内存正在被换入/换出,您可能会获得BSOD,或者更糟,导致内存损坏。“拒绝访问”进程是否在系统或其他高特权帐户下运行?如果您的应用程序运行的是非提升帐户还是较低权限帐户?这可以解释为什么你不能访问它的内存。我不知道它的权限,但这不是我试图访问的系统进程。是的,我用管理员权限运行我的程序@在阅读它的记忆帮助之前,马特森会冻结整个过程吗?我听说有一些未记录的API可以用来冻结整个进程否,因为(不一定)进程决定了哪些内存可用,哪些内存不可用。