- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
最近在做一款基于Cocos2dx-lua的移动端离线游戏。
我在 Google Play 上找到了一款名为 GameGuardian 的应用程序,它可以设置时间速度。应用程序可能会修改 libc.so
中的方法 gettimeofday()
。我尝试了很多 API,例如 os.time()
、SystemClock.elapsedRealtime()
,但都失败了。
有人可以给我一个避免应用程序影响的方法吗?
最佳答案
唯一可靠的方法是让您的应用联系您游戏的服务器以确保时间。许多安卓游戏都是这样做的。 “The Battle Cats”就是一个例子。
比如,您可以在应用启动后立即检查时间有效性,如果没有可用连接,您可以允许在允许的时间内生成资源。例如,距上次确认时间不超过 1 小时。
其他想法可能是检查当前 fps。硬件无法加速,因此当启用 VSync 时,帧将在大致相同的时间内渲染。如果您发现渲染单帧所花费的时间比应有的时间多得多,并且如果它发生在许多帧上,则可能表明存在作弊的可能性。但这不是稳定的解决方案,因为您必须确保您的 fps 通常不会在弱设备上下降,并且它不会告诉您游戏未运行时所花费的时间。
极端情况可能包括完全删除应用程序的状态,如果您发现时间自上次保存的未确认时间后跳回超过 1 小时(以防用户调整 DST 等)。
但通常您无法保护完全离线的游戏免受时间操纵。
关于android - 基于Cocos2dx的离线游戏如何防止时间作弊?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40992853/
背景 玩家在我的 Android 游戏中作弊已经有一段时间了。对于严格的单人游戏,这不是什么大问题,但由于我的游戏包含多人战斗和全局高分列表,这导致合法玩家因为作弊者而停止玩游戏。 他们是如何作弊的
这是怎么回事program访问其他进程内存?它如何写入另一个进程的地址空间?不应该是段错误还是什么? 最佳答案 具有系统特权级别的程序能够将物理地址映射到它自己的虚拟地址。 作弊 O'Matic(和
大家好 我想在我的电脑上赢得一场硬电子游戏。规则很简单:当屏幕变白时,我必须立即按下空格键。我必须做 200 次:/ 也许一个简单的 Java 应用程序可以帮助我 :P 像这样: new Thread
我正在使用预制模板组装一个管理界面。已经构建的导航系统使用 jQuery 将内容加载到基于 window.location.hash 的 AJAX 标记中。 如果我通过 AJAX 调用获取此片段,然后
我在网上搜索过,但我不知道从哪里开始。我们需要在学校用 PHP 做一个测验。如果您有正确答案并转到下一个答案,您会得到: session_start(); $_SESSION['score']++;
我需要使用 PHP 为某些页面制作一个虚假的引荐来源网址。 在我的http://www .a.com/header.php 页面我试了下面的代码 header("Referer: http://www
当使用如下所示的 using() {} (sic) block 时,并假设 cmd1 没有超出第一个 using 的范围() {} block ,为什么第二个 block 要抛出消息异常 The Sq
假设我想制作一个应用程序,根据用户访问的国家/地区数量(使用 GPS)为用户提供积分。 1) 是否有可能通过手机作弊? 2) 显然,您也可以让某人在他们的国家/地区使用他们的手机登录。手机可以绑定(b
对标题感到抱歉,真的想不出其他任何东西来描述这个问题:) 好的,事情是这样的:我正在尝试在 Linux 下使用专有的免费软件应用程序(因此出现了问题;如果我有源代码,我可以重建它)。此外,我试图在不受
我是一名优秀的程序员,十分优秀!