我正在尝试ReadProcessMemory
在某个进程上,但它用于ObRegisterCallbacks
防止另一个进程在其上创建句柄(OpenProcess
)。ReadProcessMemory
我听说有人在没有or的情况下在 C# 中创建自己的内存读取工具OpenProcess
。如果有人能告诉我如何创建这样一个很棒的库(或者如果我可以链接到现有的库)。
这是严格的读取内存,我不需要将内存写入进程
我正在尝试ReadProcessMemory
在某个进程上,但它用于ObRegisterCallbacks
防止另一个进程在其上创建句柄(OpenProcess
)。ReadProcessMemory
我听说有人在没有or的情况下在 C# 中创建自己的内存读取工具OpenProcess
。如果有人能告诉我如何创建这样一个很棒的库(或者如果我可以链接到现有的库)。
这是严格的读取内存,我不需要将内存写入进程
ReadProcessMemory
并且OpenProcess
是官方 Windows API 的一部分。这些实际上调用其他操作系统函数,例如ZwReadVirtualMemory
/NtReadVirtualMemory
和ZwOpenProcess
/ NtOpenProcess
。问题是这些功能只能由驱动程序访问。但是,您可以创建软件驱动程序(通过在 Visual Studio 中创建内核模式驱动程序 (KMDF) 或 Windows 驱动程序模型 (WDM))。不利的一面是这都是 C++ 并且很难。
您可能想研究一个名为 WhiteMagic 的开源 C# 库。这会将 DLL 注入进程,并允许从应用程序本身内部读取/写入内存。这用于OpenProcess
注入 DLL,但是可以将注入方法替换为替代方法,例如:https ://github.com/dwendt/UniversalInject 。