创建我自己的图形文件类型/扩展名

时间:2011-05-18 12:54:41

标签: image file-format data-protection

当我在我的电脑专业人士和业余爱好者上安装游戏时,我发现图片等资源有奇怪的扩展名,所以我无法打开它们。

由于我在Google上找不到这些扩展程序,我认为这是一种保护您的艺术作品的方法,因此不会轻易被盗。

我有一堆JPEG,PNG和位图文件我想这样做,所以当我发布游戏时,人们无法轻易复制它们。

如果有任何区别,我会使用C ++和DirectX。

有谁知道这是怎么做的?我知道我可以将.txt扩展名更改为任何内容,我的程序将会读取相同内容,但是这会与图片一起使用吗?

2 个答案:

答案 0 :(得分:3)

  

由于我在google上找不到这些扩展程序,我认为这是一种保护您的艺术作品的方法,因此不会轻易被盗。

创建自己的扩展程序很简单,只需决定如何解释图像,并创建转换器以从现有图像构建它们......

... 但是 ...格式是为了程序员和艺术工具而选择的,而非保护。您无法真正保护您的艺术品免遭被盗,因为在某些时候您的代码必须在渲染之前将图形转换为原始DDB(设备相关位图)或DIB(设备无关位图)他们到屏幕或发送到DX / OpenGL。老实说,不遵循标准格式的墨盒上的商业游戏很容易被破坏。黑客甚至为公众所不知道的专有游戏引擎制作关卡编辑器。

我没有在我的游戏代码中使用png和jpg,原因很简单,我无法在我的代码中使用libpng,也没有使用jpeg解码器,我需要使用4/8位8x8磁贴提供的图形使用调色板(颜色0是透明的)或16位RGBA_555_1,使用png和jpeg无法实现。

最多,您可以通过将图片存储为您自己的格式来加密图片,加密图片甚至压缩它们,这就是它。 但要注意,你的代码必须解密/解码它,而且图片会在某些时候出现在窃贼的记忆中。

所以是的,您可以轻松更改文件类型,但这不会阻止任何用户(a)更改文件名,或(b)通过将文件类型放入可以轻松的程序中来确定文件类型识别文件类型。作为一个也完成视频编辑的人,我可以告诉你,很多程序都会愉快地解释任何文件并找出真正的格式。并且它不会停止(c),一个严谨的黑客扯你的艺术品。实际上只是看看黑客用Propellerhead的Refill格式做了什么,因为他们无法弄清楚如何阅读它,他们创建了一个程序,使用Propellerhead的程序来阅读它 - 考虑一下。使用Vanjar Fukar的调试器来加载图像,识别图像加载代码,复制或自行调用(在其他一百种黑客攻击策略中)时,使用Vanjar Fukar的调试器并不需要花费太多时间。

答案 1 :(得分:0)

通常程序在阅读文件时不关心扩展,因此将扩展名更改为未知文件不应该让您遇到麻烦。