gpt4 book ai didi

c++ - 如何将游戏的 Assets 打包,只允许引擎读取?

转载 作者:行者123 更新时间:2023-11-28 01:25:11 38 4
gpt4 key购买 nike

我正在用 C++ 开发一个 2D 游戏引擎,几天来我一直在寻找一种方法来保护我 future 游戏的图像和音频。我知道没有 100% 的保护,有人可以打开这些文件,但我指的是刚刚安装游戏的普通用户,防止它修改 Sprite 、改变声音、用游戏 map 数据覆盖 xml 文件.

我下载了一些用 Unity 制作的游戏,注意到使用了 .assets 扩展名,在暗黑破坏神 2 中使用了 .ma0、.mpq、.data,在 FEZ 中使用了 .pak,在 Super Meat Boy 中仅使用了 .tp 文件。换句话说,您不能在文本编辑器中打开和编辑这些文件中的任何一个,也不能使用 winrar 解压缩,它们提供最低级别的保护。这是怎么做到的?我是否必须创建自己的二进制文件格式,或者是否有任何程序可以使它更容易工作?

最佳答案

你不能。

“最低保护级别”比您想象的还要低。您可以在十六进制编辑器中打开这些文件并对其进行破解。几十年来,这项事件已经司空见惯。

您可以加密数据,但由于 key 必须存储在您的应用程序中并且用户拥有您的应用程序的拷贝,因此也可以提取和/或更改。

您可以添加数字签名以防止人们修改 Assets 然后使用它们(“修改”),但是同样,这可以在您的应用程序中进行更改。

您可以通过以专有格式发送 Assets 来混淆这些 Assets ,但这通常纯粹是出于功能原因,因为同样,有人会对它们进行逆向工程。

一旦一个东西在别人的电脑上,你就失去了对那个东西的控制。

关于c++ - 如何将游戏的 Assets 打包,只允许引擎读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54197873/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com