gpt4 book ai didi

c# - 读进程内存事件

转载 作者:太空宇宙 更新时间:2023-11-03 10:54:09 26 4
gpt4 key购买 nike

我正在从内存中的进程中读取数据。按预期工作。现在我只是在计时器中运行代码来检查更改。

我想知道是否有任何方法可以创建一个事件,该事件在某个地址(我显然知道)上的内存发生变化时立即触发。我不是整个计时器解决方案的忠实粉丝。

private static extern bool ReadProcessMemory(IntPtr hProcess, 
UIntPtr lpBaseaddress, [Out] byte[] lpBuffer,
UIntPtr nSize, IntPtr lpNumberOfBytesRead);

public static int ReadInt(long address)
{
byte[] buffer = new byte[sizeof(int)];
ReadProcessMemory(PHandle, (UIntPtr)address, buffer, (UIntPtr)4,
IntPtr.Zero);
return BitConverter.ToInt32(buffer, 0);
}

最佳答案

理论上存在——它被称为数据断点——但没有用于设置它们的公共(public) API。 Here是它可以直接完成的方式,但你最好不要考虑利用 WinDbg 或 ADPlus 或其他现有的调试器。搞乱 CPU 的调试寄存器是导致 BSOD 的一种快速而轻松的方法。

关于c# - 读进程内存事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20109226/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com