难以篡改非越狱设备上的游戏数据

时间:2013-08-08 09:49:36

标签: ios security jailbreak

我们正在开发一种游戏,其中所有游戏逻辑都在本地执行(没有服务器后端),并且希望难以篡改游戏数据(例如用户信用,游戏设置等)。

现在,甚至可以在非越狱设备上访问文件系统并更改游戏数据 - 因此,例如,如果用户库存统计信息存储在plist文件中,则编辑它们非常容易。

如果我们将游戏设置从plist文件移动到源代码文件,以便将它们编译成二进制文件,则至少需要修改二进制文件才能更改设置。在非越狱手机上 - 修改后的二进制文件是否仍在运行,或苹果协同设置是否阻止以任何方式修改二进制文件?

有哪些快速且易于实施的措施可以使篡改游戏数据变得更加困难(特别是在非越狱手机上。最好我们想提供某种至少需要越狱的安全措施修改游戏)?

所以 - 总结一下问题:

  1. 是否可以修改iOS应用的二进制部分并仍在非越狱设备上运行?
  2. 有哪些快速且易于实施的措施,以便在非越狱设备上更难篡改游戏数据?

2 个答案:

答案 0 :(得分:0)

回答你的问题:

  1. 没有。该申请将需要再次签署。

  2. 一个简单但不牢不可破的测量方法是将数据保存在安全容器(例如密钥链)中,或者在将其安全保存到磁盘之前自行加密。攻击者现在必须监视正在运行的应用程序以获取内存中的解密数据 - 或者需要破解安全存储。

  3. 在iOS(和Mac OS X)上有几种方法可以完成加密和解密数据。官方文档中有一种方法可以很好地描述: Encrypting and Decrypting Data

答案 1 :(得分:0)

您无法修改二进制文件,因为它会使签名无效。我会对您不希望用户修改的数据使用某种加密。您可以根据需要将其设置为简单或复杂。我不认为iOS会提供开箱即用的任何加密服务,但你不需要疯狂地使用它 - 一个简单的ROT13算法会做,因为我们不是在谈论密码 - 这里的安全级别。如果需要,您甚至可以在加密数据上添加校验和,如果校验和不匹配,则会使其无效。