关于魔兽争霸3地图编辑器的一个菜鸟问题..

来自:安全知识    更新日期:早些时候
关于魔兽争霸3问题,地图编辑器~

因为这是加密过的地图,作者做了防盗措施,去掉了一些打开地图时的必要文件,你还是不要去尝试打开了,
魔兽地图加密原理

什么是地图加密
地图加密就是通过特殊方法破坏地图文件,使它可以在魔兽中运行,却不能被World Editor读取。
目前有哪些加密方法
现在已有很多种加密War3地图的方法。
1: 破坏 MPQ 文件头大小信息
魔兽争霸III的地图就像一个Zip文件。 首先是一个 512 字节大小的地图文件头,它记录了一些信息。然后附带一个MPQ 档案,
这个MPQ 档案中包含了一个地图所需的全部文件。 MPQ 文件的前4个字节是一个标识符。它可以被识别为 ’MPQ’。接下来的4个字节
是文件头大小,通常是16进制 hex 0x20 00 00 00的形式。 有些加密者将 0x20 00 00 00 改成一个随机数值,例如hex 0xF6 6E BA 76这个
样子。 目前多数 MPQ 程序因为大小错误而无法打开这样的 MPQ 档案。而 Warcraft3 似乎忽略了这种错误的文件头大小,所以这些地图
仍可以在魔兽中运行。
这种加密只要把数值改回 0x20 00 00 00就可以轻易破解掉。
为了能够正常打开地图并提取文件信息,本网站(wc3sear.ch)将自动修复这类加密文件。
(译者:这一段的术语翻译可能并不正确,因为我对文件结构本就知之甚少。望谅解)
2: 删除地图内的 war3map.wtg文件
war3map.wtg 文件中包含了地图中所用到的变量,触发,数组等必需信息。但这个文件只对World-Editor有用。
war3map.wtg 文件丢失或者被改动都将导致 World-Editor 无法读取地图。
当然,这种加密也可以完美地解除。 通过一个小程序你就可以利用war3map.j 文件中存储的信息来重建 war3map.wtg 文件。
本网站忽略掉war3map.wtg 文件,而是直接从war3map.j 文件中提取诸如触发数目,变量数目等信息。
你可能注意到,既然一个简单的 PHP 脚本就可以提取出 war3map.j,那么使用其它脚本就有可能重建war3map.wtg 文件。
2b: 删除 war3map.w3c, war3map.w3s, war3map.w3r 文件
war3map.w3c 存储了world editor的镜头设置。 war3map.w3s 存储了world editor在地图中所设置的声音。 war3map.w3r 存储了world editor中的区域设定。
这几个文件同样只对World Editor有用,而且同样可以通过 war3map.j 文件进行重建。参见上面的 “删除地图内的 war3map.wtg 文件“ 。
3: 隐藏 war3map.j 文件
有些耍小聪明的加密者找到了隐藏 war3map.j 的办法,这样我们就无法用一个网页脚本来轻易将它解出了。
正规的地图中 war3map.j 是直接保存在根目录里的。而这些加密者发现把它移动到 “Scripts\“下面也可以正常运行。
只要知道了这一点,就很容易破解这种加密 ;-) 非常感谢 BahamutZERO 和Quantam 帮我解决这种方法。
4: 打乱war3map.j 文件
有些加密者认为自己很聪明,他们用随机数字重命名了所有的变量和函数。这使常人很难读懂 war3map.j 文件。但这对脚本是不起作用的。
我为这个网站所写的脚本根本不在乎关键字,它只搜索模式,所以我仍然可以从地图中提取我所需要的信息 ;-)
只要借助能够重建 war3map.wtg 的脚本,这种加密方法同样可以破解。恐怕你唯一没法改变的就是已经重命名的变量和函数。
但这并不重要,因为你仍然可以用world editor打开它。 ;-)
加密的安全性如何
正如你所读到的,地图加密也许可以避免菜鸟们用world editor打开你的地图。
但事实是只要魔兽可以运行你的地图,就有办法修复它,从而可以用 World Editor打开它。
地图加密的利弊
有利面:
- 让菜鸟们不能打开你的地图并篡改它。
- 让你显得很聪明
- 因为删除了某些文件而使地图变小。
不利面:
- 它实际上是没用的
- 大家不能研究你的地图
- 自己丢失原版后将无法对地图进行修改

就我所知,魔兽地图还有很多加密方法,解密的方法也各不相同.这个只是范例.

主要分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即可还原
最后讲一下如何研究加密的地图:
1.学会Jass语言
2.用mpq工具解压出war3map.j(如果没有则参见上面的第二条解压Scripts\war3map.j), 注意如果mpq工具如果不能读取则按照上面第3条的做法修复文件头
3.结合所学的Jass看war3map.j, 就能知道对方地图的处理过程
4.关于地形的获得我还没有好办法, 我把别人的地形文件导进自己的地图会出现读取错误, 估计是有些选项必须符合, 考虑到有些人加密地图就是为了保护地形不让别人"盗版", 所以我也没有多做研究, 只要知道war3map.j的内容就可以学习别人所有的地图处理过程了
总结一下:
解密是很难的, 但是可以通过解压war3map.j来分析别人的地图, 希望这篇文章对大家关于加密解密的争论能给出一个理论依据
满意请采纳。

最后创建的单位 是指你用触发最后创建的那个单位(就是那个 创建几个单位给一个玩家在某地面冲多少度 的那个触发,比如说,你在这个电影里面创建了一个DH,然后你就可以设置一个变量等于最后创建的单位,这是这个变量就是指的那个DH,不知道你明白没有

1和2
都是在脚本编辑器(F4调出)设置
比如1
创建个触发 事件 地图初始化
然后用for循环1-12每个玩家获得金钱若干
2比较麻烦 如果只是矿图还好办 可以直接设置电脑AI
RPG的话得自己写AI了(AI编辑器里)

3.这个因为3C地图是加密过的
能用WE打开已经算你运气好了
更别想修改了

如果想修改
一般的做法都是用MPQMaster之类的导出文件来编辑
W3MMaster有时候能直接编辑一些单位
你可以到http://war3.wfox.cn/thread-5705-1-2.html
或者其他地方找找改图教程


关于魔兽争霸3地图编辑器的一个菜鸟问题..视频

相关评论:
  • 13830185647关于魔兽争霸3地图编辑器的问题。请高人指点。
    宰融静2、事件编辑器其实就是触发编辑器,功能是实现触发动作,基本公式为:当XXX单位做了什么事时,如果怎么怎么样那么就干什么。触发编辑器基本可以实现任何事情,任务、效果、技能、电影、镜头等等。现在第一个问题,用触发来做

  • 13830185647魔兽争霸3地图编辑器的一个问题
    宰融静电脑的活动是有内部AI触发控制的,没有关于地精船坞造船的相关内容,当然就不会建造了。解决的方法是制作AI触发,不容易啊~

  • 13830185647魔兽争霸3地图编辑器1个小问题
    宰融静点开触发编辑器 新建一个类别与触发器 右键事件>地图初始化>确定 右键动作>对战游戏 然后按照你的需要添加你需要的功能 对战昼夜设置:白天黑夜的切换时间 英雄限制:只允许玩家建造3个英雄 英雄初始物品:第一个英雄会带有TP 设置初始资源:每个玩家开始时都会获得与对战地图相同的初始资源 删除多余单位:玩家...

  • 13830185647魔兽争霸3地图编辑器里一个很简单的问题,谁来帮帮我啊
    宰融静1.设一个简单的触发事件就行了 事件:Unit - Generic Unit Event 一般单位事件 条件:Unit Comparison 单位判断 (地图上的一个英雄)动作;游戏-Victory 获胜 玩家立即胜利 2要用AI来完成

  • 13830185647魔兽争霸3地图编辑器的问题!【高悬赏】
    宰融静找到生命之泉和魔法之泉,它们各自有 两个技能,其中一个是恢复光环(中立),只要从物体编辑器\\技能那里找到 这两个技能,然后生命的就是右边改“数据--每秒生命恢复”,魔法的就是数 据--每秒恢复值 小贴士:物体编辑器中一下子找不到的东西可以通过CTRL+F输入名字查找O(∩_∩)O~...

  • 13830185647关于魔兽争霸3冰封王座地图编辑器的问题(200分悬赏)
    宰融静5.体积放大可以从物体编辑器中选你想改的单位之后把缩放值改变比如原来1.0改到2.0就能把他身体长大1倍之后也别忘了把触碰体积改一下不然就不真实了。建议楼主去这里看有详细的图文教程能让楼主受益匪浅http:\/\/war3.uuu9.com\/wejx\/index.shtml 这里也可以下教程楼主看看吧 http:\/\/war3.uuu9....

  • 13830185647关于魔兽争霸3地图编辑器的几个问题,请说地通俗易懂些。
    宰融静1.用3DMAX5 2.看图 3.仔细点,怎么批量生产?是造兵,还是自动刷兵,说清楚 4.单位技能,技能名叫”无敌的(中立的)“,一有这个就无敌了 5.上面的一排-高级-游戏平衡性常数-使用自定义平衡性常数那挂钩,然后就能调很多东西了,经验值也有 6.单位技能,技能名叫“月刃”,用科技“升级月刃...

  • 13830185647魔兽争霸3地图编辑器里的问题。1替换和修改英雄的技能 2选择英雄...
    宰融静1:进入魔兽地图编辑器 最好有汉化补丁 进入后打开你要修改的图 然后按F6进入物品编辑器 选择“单位”选项,再通过种族-英雄来选择你想选的英雄 双击英雄名字 然后在右边的界面里找到“技能-英雄”那栏 双击那栏会出现一个框框 在这里你可以删除、增加、编辑、移动英雄的技能 如果你还想对原...

  • 13830185647魔兽争霸3地图编辑器里的问题。1替换和修改英雄的技能 2选择英雄...
    宰融静1.有些技能可以直接在物体编辑器,对应英雄的技能选项里面替换。有些不行的,比如恶魔猎手的变身,这个不改变身模型的话怎么都是那个黑色的伊利丹,还有剑圣的剑刃风暴,不可以由其他英雄施放,这个不知道怎么改。但是风暴之锤可以直接添加给其他英雄,地狱火貌似也可以,如果无效的话可以用触发,做个马甲...

  • 13830185647魔兽争霸3地图编辑器的两个问题
    宰融静第一个 事件:单位进入矩形区域000 条件:没有 动作:选单位组,然后选选取单位组内单位做动作(这里我喜欢选多个,这样有什么忘记了 好加入。然后把下面的那个单位组改成可用矩形区域内满足某某条件的单位(因为有了条件,即使你的单位进入那个区域也不会死掉了,或者只会死掉你指定的单位了)因为一...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网