我正在构建一款iPhone游戏,我将玩家的游戏数据存储在应用程序的Documents文件夹中。使用encodeWithCoder将游戏数据序列化到磁盘。使用这种方法,我是否有可能让恶意玩家手动改变游戏数据?
我知道越狱手机可以让你通过手机访问手机。所以从理论上讲,玩家可以通过手机查找游戏数据,然后使用vi编辑它来调整数据?
我有一个用于测试的监狱电话,我现在正在尝试,但每次尝试编辑它似乎都会破坏文件并使其无法被游戏阅读。
我也试图将数据文件scp到我的开发机器,使用xcode打开它,调整值并将其发送回应用程序。但是我在游戏中看到新值时没有取得任何成功。
我可以免受此类攻击吗?
感谢。
答案 0 :(得分:1)
如果您真的担心它,请加密它。
我说如果因为那些准备越狱手机来破解你的应用程序的人是如此微不足道,那就不值得担心了。如果值得担心,你可以改变它。
这闻起来像是对我来说过早优化。
答案 1 :(得分:0)
不,在越狱的iPhone上,用户可以做任何他喜欢做的事情,甚至更改你的文件。唯一的保存地点是由您控制的服务器上的互联网。
答案 2 :(得分:0)
同意,这听起来像是一个小问题。为什么用户想要在越狱设备上完成十六进制编辑分数的麻烦?我最后一次想到做类似事情的是Apple II +上的Neuromancer。
如果您确实需要将可信本地数据作为某些在线竞赛的一部分,您可以尝试使用Keychain API将其存储在设备上,尽管本地用户可以访问它。