Answers:
如果您只是在制作原型,那么我就不用担心将您的资产打包到GCF / ZIP / PAK文件中;公众不会看到您的原型!
而且,Valve的GCF为您的内容提供了与ZIP文件一样多的保护-即零。该文件未加密;您可以下载GCFScape来浏览并提取其内容。
除非您现在有ZIP文件或操作系统自己的文件访问机制无法满足的特定需求,否则不应该花精力来创建自己的打包文件系统。实际上,我能想到的唯一原因是:
这个要求是胡扯。
由于游戏可以访问数据,并且用户可以访问游戏,因此如果他足够熟练并且有足够的决心,他将设法对您用来存储数据的格式进行逆向工程,如果您足够傻,则可以获取最终的密钥。对其进行加密。
您无法添加安全性。我再说一遍:您只是无法添加安全性。您只能添加晦涩感,而晦涩感完全没有意义,因为-正如我所说-具有足够技能和决心的用户会破坏它。
不要签署任何要求您做不到的事情。
很多时候,我注意到自定义内容包通常是带有不同扩展名的.zip或.rar存档。当然,如果网站想要某种自定义加密,那就不好了。
一些想法:
1]您是否使用标准模型格式(例如.obj或.x),还是在直接加载到游戏中时使用自定义模型格式?如果您拥有一种自定义格式,并且必须对模型格式进行逆向工程以使其成为一种有用的形式,那么您已经获得了一定程度的保护,以免受机会资产开膛手的侵害。
2] Kylotan关于XOR加密的观点非常出色,除了需要注意的是,您可以使用伪随机数生成序列(可能由文件名上的哈希值播种)进行加密,以避免源数据中长的零序列显示加密字符串。当然,您必须在文件加载后立即对其进行就地解密,但是,如果这确实成为加载时间的负担,则将加密的文件拆分为可重新启动的块将允许您在多个线程上启动就地解密。 。但是我严重怀疑是否需要这种级别的“保护”-特别是,正如其他人所说的那样,坚定的开膛手会绕过它。例如。通过使用DLL绕行库拦截绘图调用,并直接读回顶点缓冲区/索引缓冲区。
3]您必须向原始资产提供者询问他们的保护要求,但这可能只是在程序初始屏幕和/或EULA中添加有关资产版权的内容。