C++ 扫描进程存储器
我想写一个进程扫描程序来检测恶意代码,我需要扫描加载到内存中的PE可执行文件的每个部分。我一直在想如何做到这一点,在我看来,有两种可行的解决方案:C++ 扫描进程存储器,c++,windows,debugging,memory,C++,Windows,Debugging,Memory,我想写一个进程扫描程序来检测恶意代码,我需要扫描加载到内存中的PE可执行文件的每个部分。我一直在想如何做到这一点,在我看来,有两种可行的解决方案: 读处理存储器 优点:易于使用 缺点:必须读取内存并将其复制到缓冲区,由于缓冲区有限,无法读取整个过程内存,搜索也很困难,因为一次将内存复制到缓冲区的“窗口”很小 将DLL插入进程的内存 优点:能够直接访问进程内存,无需拷贝 缺点:一些安全程序不赞成“注入”,这是一种相当棘手的方法,另外我还需要复制程序需要处理的数据 我的问题是:有没有其他方法
- 读处理存储器
- 将DLL插入进程的内存
如果不是:如果我需要一次读取一个小“窗口”,我应该如何处理扫描整个内存的需要?看看它是如何工作的,除非你真的需要在目标进程中执行代码,
ReadProcessMemory
显然是做这项工作的正确方法。我在一个网站上发布了一个演示。这是一个很好的答案,把它作为一个答案,我会接受它