如何保护客户端反作弊 [已关闭]

2022-09-04 22:24:19

第一

我想表明我知道从客户端发送的任何信息都不能被信任,因为它可能是欺骗性的。我对通过晦涩难懂来阻止99.9%的潜在作弊者的安全方法感兴趣,并且能够检测实时绕过安全性的程序。

我对此有一些想法,包括通过允许客户端根据服务器的请求(通过TCP)进行扫描来验证它所保护的游戏的文件和内存检查总和以及任何潜在的作弊应用程序,这两者都用于检测内存注入作弊和/或作弊内存占用。因此,绕过黑客必须侦听在SSL上发送给它的所有TCP信息,然后通过反汇编加密/解密功能来解加密消息以了解它想要什么。同样,客户端本身可能是自我更改的,并允许它根据需要随机添加/删除功能(但由服务器保留),以便作弊者很难学会如何绕过它。这可能毫无意义?

我只发现这对更有经验的人来说是适度困难的,所以我对其他可能难以绕过的方法持开放态度。

我只对可能的实现感兴趣,而不是如何不可能有一个客户端的反热,我只是想让它变得非常非常困难。

添加了minecraft和java标签,这是针对Minecraft的,我知道社区足够大,有人可能会击败我的系统,但我希望通过使用不断的更新和变化,我可以通过独创性和毅力击败他们。

编辑:我发现这篇文章:如何防止在我们的(多人)游戏中作弊?我正在添加他的建议,以免重复事物,因为我正在寻找比显而易见的想法更多的想法(我不确定他是否不可绕过)

1) 打开所有其他进程,并挂接其 WriteProcessMemory 函数,以便它们无法在游戏进程中写入内存。如果做得好,这一步将阻止90%的作弊和作弊引擎。

2)做同样的事情,挂接各种鼠标和键盘仿真功能。这将防止许多瞄准机器人和其他类型的自动化机器人。

3)在游戏自己的进程中挂接到VirtualProtectEx/VirtualAllocEx/etc函数,并监控哪些模块正在更改保护级别或分配新的内存块。你必须狡猾地使用它,以防止当你的游戏进行大量分配时,它过于CPU密集,但这是可以做到的。

4) 挂接到加载库函数并监视动态加载的任何 DLL,以防止 DLL 注入。

5)在游戏连接上使用一些轻量级的多态编码。

6) 使用一些反调试技术来防止调试器附加到进程。谷歌反调试,你应该能够找到很多东西。

7)使用自定义的专有PE打包器来防止对游戏进行有用的拆卸。

8)连接到您的OpenGL或Direct3D函数和方法,处理透明度和alpha混合。

9) 如果使用着色器,请对着色器和着色器常量值进行校验和。

10) 对玩家角色使用额外的遮挡剔除技术,以防止当玩家角色的视线被其他几何体阻挡时,它们被渲染。它也可能对你的表现有帮助,也可能没有帮助,但它会防止许多墙壁黑客。


答案 1

如果你想让你的客户尊重你和游戏,你应该尊重你的客户,并意识到你所看到的游戏客户端计算机可能被用来存储有价值的信息。

允许客户端扫描服务器随机给出的任何内存部分

客户端本身可能是自我更改的,并允许它根据需要随机添加/删除功能

请注意,不要将攻击媒介打开到客户端计算机中。阅读“随机给出的记忆的任何部分”听起来很可怕。您可以通过散列(不小的)内存块并检查已知值来减少它。

让服务器发送“随机”代码可能会使您的软件看起来像病毒/僵尸网络到防病毒/安全工具。它还使客户端对潜在的漏洞利用持开放态度。

更新:

1)打开所有其他进程,并挂接它们的写过程记忆函数

如果您这样做,并且注入的代码中存在错误,则可能会破坏客户的整个机器的稳定性。这似乎咄咄逼人。您正在运行哪个版本的Windows?使用什么权限?我很确定破解者可以安排从您无权挂钩的进程(例如您在正常用户进程中运行的管理进程)运行他的漏洞利用程序。此外,出于显而易见的原因,您需要上钩。GetProcAddress

4) 挂接到加载库函数并监视动态加载的任何 DLL,以防止 DLL 注入。

这个并不像听起来那么糟糕,因为你只需要在本地进程中执行此操作。

6) 使用一些反调试技术来防止调试器附加到进程。

当然值得做(如果你有时间),但对于有经验的饼干来说,这只是一个减速带。请记住,他始终可以从启动开始跟踪您的代码,并观察或绕过您的反调试。(这需要时间,但一些饼干喜欢这个。

7)使用自定义的专有PE打包器来防止对游戏进行有用的拆卸。

这是另一个会让你注意到的反病毒软件。


答案 2

我个人认为观察记忆等等是没有意义的。我可以想象,当有人实现协议并做出一些废话时,您也需要处理它,这也可能会让您的服务器崩溃。

但是你是对的,可以检查内存中是否有通常由作弊者使用的不良软件,例如自负者中的wallhacks。

恕我直言,您需要检查来自客户端的数据是否有效,并比作弊做出反应。

关于您的更新:
请不要挂接所有其他程序,这有点疯狂,而且它可能会让您的程序被检测为root工具包或类似的东西。


推荐