在win32用户代码中挂钩OpenProcess()或ReadVirtualMemory()

Hooking OpenProcess() or ReadVirtualMemory() in win32 userland code

本文关键字:OpenProcess ReadVirtualMemory win32 用户 代码      更新时间:2023-10-16

是否有钩子/绕道OpenProcess()ReadProcessMemory()函数调用到我自己的自定义函数?

没有:

  1. 内核驱动程序在Zw/NtOpenProcess,需要rootkit漏洞或部署驱动程序签名
  2. 在每个进程中注入.dll,浪费资源警报多防病毒

我试图阻止其他进程获得HANDLE或读取pid矢量的内存。

如果不在内核模式下全局挂接调用,则必须进入每个目标进程。一个dll是最简单的解决方案,但是你可以做更多的黑客和繁琐的东西。

使用OpenProcess和ReadProcessMemory(多么巧合!)和WriteProcessMemory来修改每个目标进程。钩住想要的函数,并在你想要的功能中加入一个过滤器函数。

注意,如果有人知道你在做什么,想要阻止它,你无能为力。他可以重新修补你的代码,或者使用一些直接的asm调用来调用api (sycall)。