当前位置 : 主页>技术研究>魔兽技术>

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

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




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:中文化(或者其他國家的語言)
以上就是我们关于地图的各个方面介绍,不管是加密原理还是破解加密的原理我们都在以上的内容中介绍出来了。所以我们只需要按照上面的内容进行地图这块的设置应该是没有多大问题,还有一些额外出现的一些可能研究破解加密的方法我们也有介绍,只需要将这些都清楚的理解,之后我们就算成功的把服务器甚至完成,这样射出出来的服务器中地图方面是没有多少被攻击而导致崩溃的情况出现。
栏目列表