如何检测内存数据更改?

我正在研究Windows编程,我有一些问题。

我看到了一个保护内存数据的安全模块。 如果一个进程要改变其他进程的内存,它会检测并closures该进程。

在游戏或银行应用程序中,我经常使用这种方法(我住在韩国,所以我认为这是最好的例子,几乎所有的在线游戏或银行应用都有自我防御algorithm)。

我的问题是, 有没有检测到这个的API或函数?

谢谢。

PS我可以做一个例子,

如果0x01000000内存数据是“A” ,则某个不同的进程将其更改为“B” 。 当我第一次想到这个时,我想我必须做一个线程来检查数据,如果它改变了,closures这个过程。 但我认为这不是一个好主意。 有什么build议么?

Solutions Collecting From Web of "如何检测内存数据更改?"

一般回答你的问题:不,没有这样的API或功能。

但是有不同的方法可以达到相同的结果。 1. API挂钩。 您可以在系统中挂钩函数(如WriteProcessMemory),然后检查是否有人试图改变你的过程中的东西。 更多关于这里 。 2.调试。 您可以在函数或内存更改上使用调试断点。