一、魔兽争霸地图制作 破解图密
分类:游戏
问题描述:
怎么把魔兽地图的密码给破解???
解析:
编辑加密地图方法如下:
首先还得讲讲原理:
war3map.w3u单位
war3map.w3t物品
war3map.w3a技能
war3map.w3h魔法特效
war3map.w3q升级
war3map.wts文字
war3map.wtg触发器
这是最主要的一些文件,不过最最最最要紧的还是触发器,至于war3map.j,像我等菜鸟们,不必要去管它,尽管它是灵魂,但不懂jass语言的话就不谈了。
作者最喜欢做的事就是加密(其实是优化),不过再怎么加密也没什么用,唯一有用的是在MPQ里面把war3map.wtg隐藏了,我们只能看到File***********.xxx,最重要的是解压缩后是0kb(没有大小)的。(用MPQmaster是这样的,不过mpqworkshop不会)
或者干脆点就把war3map.wtg给删除了,一般这样只能用war3map.j编辑。当然此内容不在此帖之列。(自己曾经试过,结果没用是最郁闷的,只能把TD从非单机改成单机的。)
好了,记熟上面的后,接下来是正活。
准备工具:MPQMaster或MPQWorkshop(最好两个都备着),W3Mmaster,DnD We(地图编辑器,比WE好多了)。这里都有下的,网址:xpok/_data/18/0601/54由于插图实在太麻烦了,就不插了,用口述。
PS:W3Mmaster可以直接改地图,不过有严重性BUG(建议不用)。
1。首先选张图。(废话)
2。用MPQMaster或MPQWorkshop打开这个图。
3。看见File***********.xxx之类的,别管它,找关心的重要东西:
war3map.w3u单位
war3map.w3t物品
war3map.w3a技能
war3map.w3h魔法特效
war3map.w3q升级
war3map.wts字符串
把他们解压缩出来,然后删除掉解压后的内容。有时
war3map.w3h魔法特效
war3map.w3q升级
这两个会看不到,那就用W3Mmaster打开解压就行了。
好了,到这步,千万别直接关掉MPQ文件,先把MPQ重新压缩一遍,看看是不是变小了?如果直接关掉的话,后果很简单,地图容量变大(全是废的内容,而且还找不出为什么会变大),就给原有地图带来大量的不安全因素。
4。菜鸟版:直接进WE,点物体编辑器,然后再点文件里面的导入即可,全导了去。当然,导入后也许会看到些代码,为什么呢?那是因为没把字符串导入到地图里,导入方法是点主地图文件(就是可以保存的那个),里面就有个导入字符串了。当然,有时候导不进去,那是因为缺少字符串。其实也挺无所谓的,因为没必要,直接改单位物品之类的就行了,多玩玩地图就知道什么东西了。
5。再把所有文件全部导出覆盖到原来导入的文件,再用MPQMaster或MPQWorkshop打开添加即可。有时候用MPQmaster导入会有问题,比如导不进去之类的,个人推荐使用MPQWorkshop
非常稳定。不过MPQmaster可以打开任何加密地图,这点确实比MPQWorkshop要好,自己注意着用即可。
6。小鸟版:用W3Mmaster全部导出来,然后在随便复制个没加密的暴雪地图,用MPQMaster或MPQWorkshop打开没加密的地图,然后再把导出的文件全部添加到没加密的暴雪地图里面即可。这样就可以直接用WE打开,而不需要用Dnd WE打开。如果DnD WE直接打开的加密地图的话,里面的触发器会拜拜的,所以用它打开之前,先复制WAR3map.j到外面去,还原也方便。然后就可以随便修改了,包括字符串,就是地图存储信息。(也可以直接用记事本打开,手动改里面的东西)
二、魔兽地图加密破解方法
魔兽地图加密是破坏性加密,复原的几率≈0。
地图中的MPQ档案地形
war3map.w3e地形资料
war3map.shd地层资料
war3map.mmp物件
war3map.w3c WE中摄影机的放置情形
war3map.w3r WE中区域的放置情形(游戏所需资料会被转成JASS放在war3map.j,因此删掉不影响游戏)
war3map.doo WE中可破坏物件的放置情形
war3mapUnits.doo WE中单位的放置情形(游戏所需资料会被转成JASS放在war3map.j,因此删掉不影响游戏)
物件编辑器
war3map.w3a记录技能资料(Ability Editor)
war3map.w3h记录Buff(强化法术)资料(Buff Editor)
war3map.w3q记录科技资料(Upgrade Editor)
war3map.w3t记录物品资料(Item Editor)
war3map.w3u记录单位资料(Unit Editor)
以上这些档案可以用MPQ程式或WE汇入物件编辑器进行编辑。
触发
war3map.wtg记录WE中触发编辑器中的内容
war3map.wct记录WE中已转换成JASS的触发资料
以上二个档案是WE中的触发资料,游戏要用的触发会被转成JASS放在war3map.j,因此删掉这两个档案的地图还是可以玩。如果缺少这两个资料,用WE读地图就会出错。一般加密程式会把这两个档案删除,因此地图一但加密,就没办法百分之百还原成原始的资料。
其它
war3map.j JASS资料库。这是地图的核心,为游戏必需资料,包含所有地图摆放的建筑物、角色、触发事件的指令、.....等等。懂JASS的人可藉由修改这个档案改动大部分的地图内容(当然,你要有神级的技术)。此档案移到Scripts\war3map.j也可以用,有些加密程式会把此档案移到该处而让不知道路径的人找不到它。
war3map.wts记录字串资料。触发编辑器、物件编辑器等的文字资料都会被存放在这里。如果要中文化一张加密的地图,只须修改此档案再汇回原地图即可。
war3map.blp小地图的图档。WE本身就有汇出此档案的功能
war3map.w3i记录游戏一开始资讯(名称、几打几、简介、作者...)、种族设定、玩家设定、......
war3map.w3s记录声音编辑器(Sound Editor)的资料
war3map.imp记录Import Manager中的资料。加密程式通常会把它删掉使解密者不容易找到它们额外汇入的模组和图片。
war3map.wpm记录.mp3、.wav多媒体文件
war3mapmap.blp游戏中显示的小地图图片
war3mapMisc.txt记录Gameplay Constants(游戏常数)的资料
war3mapSkin.txt记录Game Interface(游戏界面)的资料
war3mapPreview.tga预览图片
三、魔兽争霸3编辑器怎么破解加密地图
地图加密和解密的小知识
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即可还原k
最后讲一下如何研究加密的地图:
1.学会Jass语言z>
2.用mpq工具解压出war3map.j(如果没有则参见上面的第二条解压Scripts\war3map.j),注意如果mpq工具如果不能读取则按照上面第3条的做法修复文件头
3.结合所学的Jass看war3map.j,就能知道对方地图的处理过程
4.关于地形的获得我还没有好办法,我把别人的地形文件导进自己的地图会出现读取错误,估计是有些选项必须符合,考虑到有些人加密地图就是为了保护地形不让别人"盗版",所以我也没有多做研究,只要知道war3map.j的内容就可以学习别人所有的地图处理过程了
总结一下:
解密是很难的,但是可以通过解压war3map.j来分析别人的地图,希望这篇文章对大家关于加密解密的争论能给出一个理论依据
先把你自己地图的脚本输出.输出的时候保存为:war3map.jx
然后新建3个空文件,依次命名为:
war3map.wtg war3map.wct(listfile)然后输入你的地图,然后把4个文件的路径改成
脚本: scripts\war3map.ja
空文件: war3map.wtg
空文件: war3map.wct
空文件:(listfile)这个方法不是很好理解,运用起来也不方便
我得方法是||
1.只须建立一个空文件后不一定要改文件名,就是说无论任何文件名都是可以的
2.将空文件在输入管理器中输入
3.将自定义路径改为war3map.wct或war3map.wtg就行了
4.war3map.wct或war3map.wtg只须存在任意一个就可以,
5.自定义路径必须改为war3map.wct或war3map.wtg,改为###.wct或###.wtg无效!
6.之所以要建立一个空文件是应为输入文件后,输入的文件有多大(K)地图的大小也会增加多少。所以原则上无论输入任何格式、任何大小的文件都是可以的