首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift:阻止游戏玩家地址跟踪

Swift:阻止游戏玩家地址跟踪
EN

Stack Overflow用户
提问于 2016-09-04 22:22:27
回答 1查看 37关注 0票数 0

我正在用swift开发一个简单的游戏,但使用GamePlayer (在Cydia上,类似于cheat-engine),我能够定位,跟踪和修改我的分数。

我想知道怎样才能防止这种作弊行为...我尝试在元素发生更改时创建一个新的元素实例,例如:

代码语言:javascript
复制
score = Int(score + 1)

我还尝试将var重置为nil并重新赋值:

代码语言:javascript
复制
let tmp = score + 1
score = nil
score = tmp

但它不起作用。我的第一个问题是:是否可以在swift中更改变量的地址?它会阻止地址跟踪吗?

我的第二个问题是:另一件可以工作的事情,对我的分数进行编码,但这项工作值得吗?

EN

回答 1

Stack Overflow用户

发布于 2016-09-05 04:13:55

您可以将score变量放在struct中并使用写入时复制。然后,当您更改一个值时,您将获得score的最新副本。这里通过示例描述了写入时复制的可能性和工作原理:copy-on-write

与解决方案相比,你是不是真的加密了数字,它有优点也有缺点。其中一些是我想出来的(我很好奇你的观点是什么)

  • encryption需要更多的处理器电源,因此也需要更多的电池。而写入时复制是在iOS级别上实现的,我们可以假设它已经过了很好的优化。
  • 写入时复制解决方案的安全性较低,因为人们可能只在一开始就找到了正确的地址,并且可以跟踪它(现在,我正在考虑它,而不是真的……)
  • 写入时复制会增加源代码的复杂性,因为您需要在每次更改时触发它。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39317913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档