让我们举一个例子,这个例子在IT世界中随处可见:
我们有一个游戏,例如纸牌,有人制造和释放一个教练为它,你的动作总是'0‘。
我如何编程确定哪些附件和哪些价值观的“黑客”改变?
如果有可能的话,最好的方法是什么?
我问这个问题是因为两件事:
发布于 2013-02-26 21:20:02
你不能。一些失败的尝试可能设置两个地址,然后比较它们(他们会找到另一个地址)。或者他们可以简单地删除您的比较调用。
它们可以更改用于“编程确定”的任何保护函数,以始终返回错误的结果。他们可以对你的可执行文件做任何事情,所以没有办法。
除非您挂起打开进程以修改内存的内核函数。但这也是易碎的,如果我没有错,你需要让你的“保护内核驱动程序”现在数字签名。
在每个正在运行的进程和新生成的进程中加载DLL还有另一种方式(这可能会提醒防病毒程序您的程序是病毒),使用该DLL您可以将OpenProcess挂起(如果有另一种选择,也可以)在每个进程中运行,并检查它是否针对您的程序,如果是这样,则阻止它。搜索函数挂钩。我相信有一种叫“Detour女士”的东西。
尽管如此,这场游戏甚至不会接近安全。
总之,没有办法是好的保护您的游戏本地。如果您正在存储分数或其他东西,您应该创建一个服务器程序,客户端应该报告每一个移动到服务器。
即使这样,他们也可以创建一个机器人来自动响应服务器。那么,你能做的最好的就是以某种方式验证这是一个正在玩的人。(也许是卡普查,或者把解题速度与人的平均速度进行比较?)
https://stackoverflow.com/questions/15099368
复制相似问题