我想编写一个进程扫描程序来检测恶意代码,我需要扫描内存中加载的PE可执行文件的每个部分。我一直在想如何做到这一点,在我看来,有两个可行的解决方案:
优点:易于使用 缺点:必须将内存读取并复制到缓冲区,由于缓冲区有限,无法读取整个进程内存,因为一次将少量“窗口”内存复制到缓冲区中,搜索也很困难
优点:能够直接访问进程内存,无需复制 缺点:“注入”是几个安全程序不赞成的,这是一个相当棘手的方法,而且我还需要复制程序需要使用的数据
我的问题是:是否有另一种方法可以完成另一个进程内存的完整内存扫描(假设我有权执行此操作)? 如果不是:如果我需要一次读一个小“窗口”,我应该如何处理扫描整个内存的需要?