问题标签 [anti-cheat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1077 浏览

android - 如何删除谷歌玩游戏排行榜中的作弊分数?

我的排行榜上有一个假分数,有办法删除它吗?我只能看到如何删除整个排行榜,但我只想删除一个分数......

如何做到这一点?

谢谢

0 投票
3 回答
985 浏览

android - Android 游戏:击败记忆编辑器作弊的策略

我有一个简单的游戏,有 2 个变量来存储分数和最佳分数:

我通过SharedPreferences保存 socre

在 Android 操作系统上,有很多内存编辑器工具,例如:GameCIH、DaxAttack、HaXplorer、SB Game Hacker、GameGuardian(适用于 Android 版本至 Kikat 4.4)和Game Killer(完全兼容 android Lollipop)

我希望有人帮助我找出一些策略来防止我的变量形式被这些工具修改?

我真的很感谢你的帮助。非常感谢您。

0 投票
1 回答
206 浏览

android - 如何验证用户未在应用中入侵 GPS 位置?

我想开发一个基于 GPS 的游戏(实际上我的游戏的一部分将基于 GPS,但用户需要经过身份验证)。

在我的后端,我有用户收集数据的入口点,因此客户端应用程序中不会存储任何数据(至少不是游戏数据)。

假设我使用安全的通信通道(例如:分别为 HTTPS 或 WSS),并且证书是受信任的(例如,Startcom SSL ......实际上并不重要,因为我稍后可以专注于 SSL 提供程序)。这意味着:客户端应用程序连接到服务器并接收其 PubKey 证书。

部分通信(通过 HTTPS、WSS 或带有 TLS 层的常规套接字)将涉及客户端应用程序发送其 GPS 坐标。它们是敏感数据,将存储在服务器中,但数据将由客户端生成。

:我可以使用什么技术(或者可能是每个 Android 设备自特定版本以来已经内置的应用程序)来验证连接的应用程序是允许的?

我要解决的问题是:我不希望玩家作弊(通过使用与我的应用程序相同的协议的被黑客户端应用程序)发送虚假/精心制作的 GPS 位置。

我将使用的技术:(主要)Android(也许稍后会使用其他设备但还没有)4+。

我的期望是什么:我不需要特定的代码行来解决问题(尽管欢迎使用代码行),而是专注于一个好的技术、概念或补充工具。

注意:这不是帐户身份验证问题。这与用户冒充其他用户的能力无关,而是一个被黑客入侵/作弊的客户端应用程序冒充一个好的客户端应用程序(通常是同一用户试图作弊)。

0 投票
1 回答
391 浏览

c++ - 使用 memcpy 将整个内存区域克隆到我自己的

我需要在内存中复制一个区域(特别是 00401000-00E88000),然后使用 memcpy 将其克隆到我分配的空间。有什么方法可以在 DLL 中有效地使用 C++ 执行此操作吗?这是我当前的代码:

0 投票
1 回答
71 浏览

swift - 如何确认/验证用户在应用程序中的实际操作

我有一个应用程序的想法,该应用程序奖励用户完成现实生活中的行动(如回收、健康饮食等),但我想避免在每个动作上都有一个按钮说“我做到了”,因为这样一些用户只会点击获得奖励的所有按钮。

我曾尝试在 Stack Overflow 上搜索“确认用户操作”之类的内容,但没有找到任何有希望的结果。

如果可能,我想尝试并确认的一些操作示例是:

  • 回收
  • 用户购买的某些食品(可能是条形码扫描仪?)
  • 向旧货店捐款(善意等)
  • 用户能源账单/使用

我知道其中一些可能需要基于信任(即带有“我完成”按钮),但我想尽可能减少使用它以防止用户欺骗系统。有谁知道一些可靠的方法来验证用户在提供奖励之前是否已完成任务?

0 投票
3 回答
1138 浏览

android - 定时器反作弊技术

假设我正在开发一款游戏,并且存在重生之类的东西。用户可能会在 15 分钟后重生。有什么常见的做法可以避免时间作弊吗?我的意思是,没有什么可以阻止用户更改系统时间并将其设置为未来。我知道,这可以通过使用服务器端部分解决,但没有什么可以阻止用户完全禁用网络。PS。该游戏是跨平台的,因此该解决方案对于 antroid 和 iOS 都很有趣。PS2。我知道一些有解决方案的游戏。

0 投票
1 回答
317 浏览

anti-cheat - 如何阻止人们编辑保存文件

(首先,如果这属于另一个 stackexchange 站点,请说出来。我不确定这是否属于这里。)

我正在做一个电脑游戏。这是一个roguelike,这意味着一旦你死了,你的保存文件就会被删除。您可以通过复制您的保存文件然后在您死后恢复它来轻松地作弊。当然,我想阻止人们这样做。我已经有一些想法是:

  1. 加密保存文件。这使得人们只能复制+粘贴文件。
  2. 不仅仅是一个保存文件。拥有某种类型的“主文件”,其中包含有关您玩过多少游戏,哪些游戏已经死亡等信息。一旦有人死亡,主文件将检测到有人试图恢复旧的保存文件。

但是,在此之后,人们可以从之前和之后复制并粘贴整个游戏文件夹,它仍然可以正常工作。我接下来的几个想法有点难做:

  1. 使用时间戳来检测某人何时编辑了文件。问题是人们根本无法移动文件。我可以拥有某种类型的“导出/冻结”功能,但这很容易被滥用。此外,如果某些其他程序在不知情的情况下编辑了该文件,则可能会使游戏认为您在作弊,而实际上您并没有。我还看到在线程序可以让您编辑时间戳。
  2. 使用注册表来保存一些信息。我试图让我的游戏有点跨平台,我不知道在非 Windows 系统上是否有类似注册表的东西。人们仍然可以编辑注册表。

现在,我认识到没有确定的方法可以阻止作弊。我只是想办法让作弊者人数最少。

所以,我的问题:

  1. 想法 3 和 4 可行吗?
  2. 有没有其他好的方法可以阻止人们编辑/替换文件?
0 投票
1 回答
304 浏览

javascript - JavaScript 'Hacking' - 是否可以阻止接收套接字或调用函数?

快速提问:我正在使用移相器作为游戏框架的 HTML5/Socket.io 中构建多人游戏。我现在还很远,并且已经到了为黑客添加预防措施的阶段。

基本上我的问题很简单:潜在的黑客是否可以实时更改源代码或在他们运行浏览器之前更改源代码?目前我有一个权威服务器,我的游戏封装​​在一个匿名函数中,效果非常好,但我很好奇是否有人可以修改我的源代码,向服务器发送错误的东西,或者禁用某些套接字被接收?

0 投票
1 回答
2850 浏览

c# - 用 C# 做一个简单的反作弊

我尝试了一些方法并在网上遵循了一些教程,但没有任何帮助。我想做的是为我的游戏制作一个简单的反作弊程序。它所要做的就是按名称扫描源代码中定义的程序,读取它的十六进制代码并搜索字符串或十六进制值。示例:如果 cheatengine.exe 正在运行,请扫描该进程的十六进制代码。如果在十六进制代码中找到 0x328934,则关闭程序。这可能吗 ?谢谢您的帮助。

0 投票
0 回答
583 浏览

javascript - 客户端-服务器实现:哪个增量时间?

每秒更新 60 次循环的服务器为例,它可以随时接收客户端输入,将它们存储在一个数组中,并在下一次更新滴答时处理所有这些输入。一旦处理完毕,数组就会被清空。服务器可能滞后并且每秒更新少于 60 次。为了防止作弊,处理输入会: player.x += speed * deltaTime

问题是要找到正确的 deltaTime

如果是每个服务器滴答之间的 deltaTime,则当服务器滞后时玩家会移动得更快,或者如果玩家发送的输入比其他玩家多,玩家可以作弊(移动得更快)。

如果客户端发送输入的时间戳,我们可以获取连续相同输入之间的 deltaTime(但第一个输入的 deltaTime 等于 0)。但是再一次,玩家可以通过发送另一个时间戳来作弊......

一个解法 ?

非常感谢 !

编辑:此外,还有一个使用刻度之间的 deltaTime 的客户端预测。