gpt4 book ai didi

c++ - 确定远程应用程序访问/更改的内存/值?

转载 作者:行者123 更新时间:2023-11-28 07:44:50 24 4
gpt4 key购买 nike

让我们举一个在 IT 世界中随处可见的例子:

我们有一个游戏,例如单人纸牌,有人为它制作并发布了一个训练器,您的移动始​​终为“0”。

我如何以编程方式确定“hack”更改了哪些地址和哪些值?

如果可能的话,什么方法最好?

  • 在游戏中[注入(inject)/加载我自己的 dll?]
  • 通过我自己的进程拦截黑客进程和目标进程之间的流量?

我问这个问题是因为两件事:

最佳答案

你不能。一些失败的尝试可能是设置两个地址然后比较它们(尽管它们会找到另一个地址)。或者他们可以简单地删除您的比较电话。

它们可以更改您用来“以编程方式确定”以始终返回错误结果的任何保护功能。他们可以对您的可执行文件做任何事情,所以没有办法。

除非你 Hook 打开你进程的内核函数来修改内存。但这也是易碎的,如果我没记错的话,您现在需要对您的“保护内核驱动程序”进行数字签名。

还有另一种方法,您可以在每个正在运行的和新生成的进程中加载​​一个 DLL(这可能会警告防病毒软件您的程序是病毒),使用该 DLL Hook OpenProcess(如果有其他替代方法,那也是)在每个进程中运行并检查它是否针对您的程序,如果是则阻止它。搜索函数 Hook 。我相信有一种叫做“MS Detour”的东西。

而且,该游戏还远未接近安全。

综上所述,没有办法在本地保护您的游戏。如果您要存储分数或其他东西,您应该创建一个服务器程序,客户端应该向服务器报告每一步。

即便如此,他们也可以创建一个机器人来自动响应服务器。那么你能做的最好的就是以某种方式验证它是一个人在玩。 (也许是验证码或将解决速度与人类平均水平进行比较?)

关于c++ - 确定远程应用程序访问/更改的内存/值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15099368/

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