当前位置 : 145z游戏站 | 魔兽世界 | 技术教程 | 

谈魔兽世界加密地图的原理破解加密的方法详细介绍

热度:
地图的信息是我们在进行设置的时候需要十分留意的,所以关于这一块的设置我们一定要细心一些,毕竟每个地图都是我们用来给各个玩家恶魔你在其中获得打怪或任务的场所,好友一些副本类型的地图也需要我们细心设置。所以玩家们在面对这块的时候一定要将其完美的解决,不能出现一些不应该出现的问题让我们服务器受到一些影响。

1.不可还原式删除加密, 即破坏性加密
说明: 这种加密难度小, 方法简单, 比较常用
原理: 魔兽的地图是一个mpq压缩文件, 里面存放了一些游戏中和WE中要用的数据, 其中一部分数据是只有WE要用而时不要用的, 我们可以将它们移掉, 造成启动WE无法读到相关数据
方法: 1.用Import Manager导入这些文件的替代空文件2.用mpq工具删掉这些文件
破解可能: 由于需要的文件已经被移掉, 而Jass->Trigger的还原难度非常大, 所以基本不能完全还原原来的地图

2.可还原式移动加密
说明: 这种加密比较复杂, 但可以利用一些密钥还原
原理: 根据上面一种方法的原理, 我们把地图里的一些文件改名为特殊的文件名或者移动到特殊的目录去, 并且删掉(listfile), 这个文件是用于获取mpq格式的文件里面的文件列表的, 这样WE也无法读取到这些文件从而无法启动
方法: 根据一定的算法把密钥哈希成一个字符串, 然后把文件改名或者移动到用这个字符串生成的文件名里. 还原时只要有密钥就可以找到移动后的文件并还原
破解可能: 这些算法通常是md5等不可逆算法, 或RSA等大素数可逆算法, 加上我们根本连移动或改名后的文件名或路径都不知道, 基本很难破, 除非你知道密钥

3.可还原式破坏WE显示加密
说明: 该方法简单但如果被知道了了方法很容易破解
原理: WE启动时和读取地图时会读取一些模型, 音乐, 贴图等, 如果我们导入一些错误的文件, 在WE读取时会先读地图里的文件, 就会因为这些错误的文件而出错
方法: 我自己不太清楚可以导哪些文件, 大家可参考以前的一些帖子
破解可能: 如果你知道这个方法, 那么只要从地图里删除坏文件就可以了
然后讲一下几个加密中会用到的技巧:
1.删掉(listfile), 这样别人不能看你的文件列表, 无法知道你的加密方法
2.把war3map.j移动到Scripts\\目录下, 这样仍然被读取, 但是一般人不知道就会无法解压出这个文件
3.针对一些mpq工具可能会将文件头部的一个数改掉导致mpq工具无法处理, 通常offset是0x218, 用16进制工具把这个位置改为20 00 00 00即可还原

最后讲一下如何研究加密的地图:
1.学会Jass语言《jass使用教程•基础篇》
2.用mpq工具解压出war3map.j(如果没有则参见上面的第二条解压Scripts\\war3map.j), 注意如果mpq工具如果不能读取则按照上面第3条的做法修复文件头
3.结合所学的Jass看war3map.j, 就能知道对方地图的处理过程
4.关于地形的获得我还没有好办法, 我把别人的地形文件导进自己的地图会出现读取错误, 估计是有些选项必须符合, 考虑到有些人加密地图就是为了保护地形不让别人"盗版", 所以我也没有多做研究, 只要知道war3map.j的内容就可以学习别人所有的地图处理过程了
总结一下:
解密是很难的, 但是可以通过解压war3map.j来分析别人的地图, 希望这篇文章对大家关于加密解密的争论能给出一个理论依据.
MPQ软体
MPQ软体
MPQ 是什麽?
MPQ 是 Blizzard 公司将游戏资料包装在一起的一种档案格式,内容放置採取 Joliet 档案格式 (MS-DOS 路径型态+长档名),与 Unix/Linux 路径型态不同。内部採取可压缩设计,但对于不同档案型态,其压缩方式也不同。

后来据说某位国外的天才,将 MPQ 档案格式解码后, 利用星海争霸任务编辑器staredit.exe 搭配 storm.dll 档案,配合他自行制作的几个 MPQ 功能,成为 MPQ2000 软体。之后又陆续出现了很多新的MPQ软体,例如MPQ View、WinMPQ、MPQ Editor、MPQ Workshop、……,软体的使用范围也从DOS模式延伸到Windows。

这些软体最主要的功能是可以解出MPQ档案下的东西(就像使用WinZip解开.zip档案一样),甚至可以压入档案到.mpq中。它可以用来解出魔兽争霸III中的图档、动画、战役地图、原始资料等。此外,也可以用在星海争霸(Strcraft)及暗黑破坏神(Diablo)中,以及制作特别版(但是制作出来的版本原则上无法与正常的在b.net上连线游戏,只能自high)。本文只讨论基本的解档功能,其他进阶的功能请大家自行研究。
此外,对于某些MPQ程式,为了要开启MPQ档案,你必须提供该MPQ档内部的路径表(listfile),才打的开这个档案。有些比较高级的程式如WinMPQ,可使用该档案内部的listfile开启,但是如果该档案没有附listfile,则无法顺利开启。listfile为.txt文件,如果需要的话,可以把附录 War3 All Listfile 的内容複制起来,贴到记事本并存成.txt档即可使用。
MPQ程式也可以加入档案,但是处理MPQ的档案和处理一般档案的情形有些不同。当你删除档案(或者用同名称的档案覆盖)时,它的空间不会被释放,换句话说,删除档案后,档案不会变小,只是不会被读到而已。就笔者所知,目前只有最难操作的MPQ2K可以释放空间,所以大家最好不要随便用MPQ程式删档和加档,不然该档案会越变越大。
魔兽的MPQ档案
war3.mpq:主程式的资料
War3x.mpq:资料片的资料
War3Patch.mpq:改版的资料,想找最新的新东西就解这个
War3xlocal.mpq:中文化(或者其他国家的语言)
以上就是我们关于地图的各个方面介绍,不管是加密原理还是破解加密的原理我们都在以上的内容中介绍出来了。所以我们只需要按照上面的内容进行地图这块的设置应该是没有多大问题,还有一些额外出现的一些可能研究破解加密的方法我们也有介绍,只需要将这些都清楚的理解,之后我们就算成功的把服务器甚至完成,这样射出出来的服务器中地图方面是没有多少被攻击而导致崩溃的情况出现。
[顶部]