首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使MPQ文件不可读

使MPQ文件不可读
EN

Stack Overflow用户
提问于 2010-06-24 20:13:08
回答 8查看 1.8K关注 0票数 0

我在我的程序中使用加密,如果需要使用文件,它会解密文件,并在处理完文件后对其进行加密。但我的文件大小在100mb左右,加密需要一分钟多的时间。

我的问题是,有没有可能在不加密整个文件的情况下使我的文件不可读?例如,只是加密一些字节,否则我不知道该怎么做。我需要减少我的解密时间。非常感谢!

Edit1:对不起,忘了。我正在谈论的文件,是MPQ文件,这是一个游戏使用(哇),从它读取模型文件,音乐等…所以它不是一个文本文件。它可以通过特殊程序(MPQ编辑器)打开。我编辑了一些文件,我制作了自己的MPQ文件,我想保护它不被其他用户使用,以便用MPQ编辑器打开它。我的程序也可以打开mpq文件。但是mpq文件是用mpq编辑器创建的。我只想让它对mpq编辑器不可读。如果我的程序将使用它,它应该解密它,如果我的程序完成了MPQ文件,它应该再次加密它,以阻止其他人编辑它。

Edit2:好的,先说清楚。有一个叫做魔兽世界的程序。它从MPQ文件中读取游戏文件,MPQ文件是由Wow (Blizzard Co)开发的,但它可以被一些程序,编辑器打开。我有一个经过编辑的MPQ文件(替换了音乐),我把它上传到了我的服务器上。我的程序将它下载到其他玩家的游戏文件夹中,他们会得到这个改变,就像我一样:)他们也会听到其他音乐。(举个例子。)但我不希望他们用任何编辑程序编辑/或查看我的MPQ文件,所以我实现了一个简单的加密,解密我的程序。我的MPQ文件被加密上传到我的服务器。当他们开始游戏时,我的程序解密文件(是的,他们现在可以编辑它,但他们不知道这一点:P,它的基本安全性),所以游戏将计算MPQ文件,它将加载它,其中的更改。当游戏程序关闭时,我的程序加密回补丁,因此它将再次不可读。我希望你能理解这个过程。问题是,我的MPQ (补丁)文件大约有100MB大。这意味着,加密/解密它们需要大约1分钟。这就是我想要替换的,加密方法。必须用更好的方法加密它,并在需要的时候解密它。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2010-06-24 22:01:57

我对mpq文件一无所知,但我的第一个问题是,“编辑器如何识别这是一个mpq文件?”例如,如果前3个字节中有某个值,只需更改这些字节,编辑器就会失败。把它们改回来,你就可以读了。瞧。如果有其他机制,同样的逻辑。

关键是,该文件根本不需要加密-只需进行调整,以便mpq编辑器不会将其识别为可打开的有效文件。

票数 0
EN

Stack Overflow用户

发布于 2010-06-24 20:16:51

如果您所说的不可读是指数据不是纯文本,那么您可以使用binary Serialization/De-serialization

票数 1
EN

Stack Overflow用户

发布于 2010-06-24 20:17:02

从开头读取任意数量的字节,并将它们附加到末尾,然后进行反向trek - reverse。这应该会阻止应用程序将文件识别为有效类型。但这并不会使文件中的文本不可读。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3109796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档