目的是通过黑客攻击本地游戏数据来增加用户欺骗游戏的成本,安全性是主要关注点。不需要考虑设计师和程序员之间的工作流程相关问题。
情况:iOS游戏开发,objective-c
为了保存一些简单结构的游戏设置数据,例如老板的HP Max值,我有三个计划:
#define
并将这些数据放入特定的标题文件中说constants.h
; 我的问题是:
#define kABC 100.0f
比#define kEnemy01_HP_Max 100.0f
更安全(看起来更容易让黑客感到困惑)?答案 0 :(得分:2)
除非您加密数据,否则这两种方法都不安全,也不比其他方法更安全。您将数据安全性/完整性与私有封装混淆。它们没有关联:黑客不会很友好地使用你预先定义的setter / getter函数,它们将检查你的程序的二进制可执行文件。任何拥有基本十六进制编辑器的人都可以查看这些数据,如果他们知道在哪里查看的话。
编辑: 另请注意,变量/函数/宏名称等仅存在于源代码中,它们不存在于您的可执行文件中。因此,给他们隐藏的名字将有一个目的,那就是让你,程序员迷惑。
答案 1 :(得分:2)
使用您提到的GameData单例。添加3种方法:
请参阅:http://www.codeproject.com/Articles/831481/File-Encryption-Decryption-Tutorial-in-Cplusplus
开发使用未加密的数据文件并使用GameData加密数据(方法1和方法2)。
发送加密数据文件并使用GameData对其进行解密(方法3)。