如何检测内存数据改变了吗? [英] How can I detect the memory data changed?

查看:156
本文介绍了如何检测内存数据改变了吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我学习了有关Windows编程,我有一些问题。

I am studying about the windows programming, and i have some question.

我看到防守内存数据的安全模块。
如果一个进程都不会改变其它进程的内存,它会检测并关闭进程。

I saw a security module that defends memory data. if one process is going to change other process memory, it detects and turns off the process.

这通常是在游戏或银行应用程序(我住在韩国的反作弊引擎使用的,所以我认为这是最好的例子,几乎所有的在线游戏或银行应用程序都有自卫的算法。 )

This is often used in anti-cheat engines in games or bank application programs(i live in Korea, so i think this is the best example of this. Almost every on-line games or bank application has self-defence algorithm.)

我的问题是,有检测这方面有任何的API或功能?

感谢。

P.S。
我可以打一个比方,

P.S. i can make an example,

如果为0x01000000 存储数据的'A',一些不同的工艺改成了'B'
当我第一次想到这个问题,我想我必须做出一个线程来检查数据,如果它的变化,关闭过程。
但我认为这不是一个好主意。有什么建议?

if 0x01000000 memory data is 'A', some different process changed it to 'B'. when i first thought about this, i thought that i have to make a thread to check the data and if it changes, turn off the process. but i think this is not a good idea. any suggestions?

推荐答案

一般回答你的问题:没有,没有这样的API或函数

General answer to your question: no, there are no such API or functions.

但也有不同的方法,你可以达到同样的效果。
1.阿比挂钩。你可以连接在系统功能(比如WriteProcessMemory的),然后检查是否有人试图改变在过程的东西。更多关于此这里
2.调试。您可以在功能或改变内存使用调试断点。

But there are different methods where you can achieve same result. 1. Api hooking. You can Hook functions in system (such as WriteProcessMemory) and then check if somebody trying to change something in your process. More on this here. 2. Debugging. You can use debugging breakpoints on functions or memory change.

这篇关于如何检测内存数据改变了吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆