您的位置:广东在线游戏网 > 游戏资讯 > 关于打开加密魔兽RPG地图..........

关于打开加密魔兽RPG地图..........

作者:广东在线游戏网日期:

返回目录:游戏资讯


建议直接提取war3map.j,如果你只是想看看里面的触发器的话那就直接看jass版的吧,如果是改图的话,只需要:(以下内容纯属摘录)
  ·························
  首先下载W3MMASTER可以对地图的物品技能 等 进行修改,并输出地图scripts文件夹下的war3map.j文件.
  然后用魔兽自带的地图编辑器 建立一个新图,在新图中编写你所希望的触发器功能,然后保存地图.
  接着下载MPQMaster 提取自己新建地图的war3map.j文件(应为文件名相同所以不能和加密地图中提取的war3map.j文件 放在一起不然会覆盖的),然后用记事本打开自己新建地图的war3map.j文件,搜索globals关键字 你会发现有// Generated
  trigger gg_trg________________u = null
  trigger gg_trg_say_money1 = null
  trigger gg_trg_say_money2 = null
  trigger gg_trg_say_money3 = null
  trigger gg_trg_say_money4 = null
  trigger gg_trg_say_money5 = null
  trigger gg_trg_say_money6 = null
  trigger gg_trg_say_money7 = null
  trigger gg_trg_say_money8 = null
  trigger gg_trg_say_money9 = null
  trigger gg_trg_say_money10 = null
  trigger gg_trg_say_money11 = null
  trigger gg_trg_say_money12 = null
  类似这样的 申明,globals下第一行为地图出始话用到的我们不用他,然后将其他的申明字符串复制到 从加密地图中提取的war3map.j文件的globals关键字下(这些应该是变量申明,个人感觉jass语言和C语言很类似),然后在自己的war3mao.j文件中你会找到
  //===========================================================================
  // Trigger: say money1
  //===========================================================================
  function Trig_say_money1_Actions takes nothing returns nothing
  call AdjustPlayerStateBJ( 1000, Player(0), PLAYER_STATE_RESOURCE_GOLD )
  endfunction
  /===========================================================================
  function InitTrig_say_money1 takes nothing returns nothing
  set gg_trg_say_money1 = CreateTrigger( )
  call TriggerRegisterPlayerChatEvent( gg_trg_say_money1, Player(0), "/跑路", true )
  call TriggerAddAction( gg_trg_say_money1, function Trig_say_money1_Actions )
  endfunction
  (这个是我的文件中的 和申明的一样这里是函数)function开始endfunction结素 把这些函数(根据自己的判断有选择性的复制到加密地图的war3map.j文件相应位置中)
  接着在自己的war3map.j文件中的
  function InitCustomTriggers takes nothing returns nothing
  call InitTrig________________u( )
  call InitTrig_say_money1( )
  call InitTrig_say_money2( )
  call InitTrig_say_money3( )
  call InitTrig_say_money4( )
  call InitTrig_say_money5( )
  call InitTrig_say_money6( )
  call InitTrig_say_money7( )
  call InitTrig_say_money8( )
  call InitTrig_say_money9( )
  call InitTrig_say_money10( )
  call InitTrig_say_money11( )
  call InitTrig_say_money12( )
  endfunction
  这个函数中的 除第一个call InitTrig________________u( )外全部复制到加密地图的war3map.j文件中的function InitCustomTriggers takes nothing returns nothing函数中
  最后打开MPQMaster.exe 打开被加密地图在在地图中创7a686964616fe78988e69d83334建新文件夹scripts(应为地图被加密所以原来的scripts文件夹是看不到的,新建后自动覆盖原来的文件夹和文件夹中的文件)然后打开这个文件夹导入修改好的war3map.j文件 这样加密文件的触发器在原来的基础上加上了你想要的功能
  ························

  如果地图需要bcc验证的话再把新的war3map.j用bcc.exe导回也就可以了

  最可惜的是1.23的魔兽封杀了bcc验证,汗啊。。。
  幸好国内的对战平台都还在用1.20的魔兽(不过本人改图纯属自己娱乐,不会拿到网上去害人的,希望你也一样啊)

魔兽地图加密原理

什么是地图加密

地图加密就是通过特殊方法破坏地图文件,使它可以在魔兽中运行,却不能被World Editor读取。

目前有哪些加密方法

现在已有很多种加密War3地图的方法。

1: 破坏 MPQ 文件头大小信息
魔兽争霸III的地图就像一个Zip文件。 首先是一个 512 字节大小的地图文件头,它记录了一些信息。然后附带一个MPQ 档案,
这个MPQ 档案中包含了一个地图所需的全部文件。 MPQ 文件的前4个字节是一个标识符。它可以被识e5a48de588b6e79fa5e98193366别为 ’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来分析别人的地图, 希望这篇文章对大家关于加密解密的争论能给出一个理论依据
这么好破 他们还做什么图 骚年老老实实玩作弊图吧

通常加解密的方法如下: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这个
样子。e799bee5baa6e79fa5e98193e78988e69d83331 目前多数 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\“下面也可以正常运行。
只要知道了这一点,就很容易破解这种加密

相关阅读

  • 关于打开加密魔兽RPG地图..........

  • 广东在线游戏网游戏资讯
  • 建议直接提取war3map.j,如果你只是想看看里面的触发器的话那就直接看jass版的吧,如果是改图的话,只需要:(以下内容纯属摘录)  ·························  首先
关键词不能为空

标签导航

sd高达g世纪超越世界有什么好机体? 跪求 sd高达g世纪 超越世界 全机体开发图鉴 sd高达g世纪超越世界最强三个机体 SD高达G世纪超越世界 推荐几个强力原创系机体啊,凤凰解放和... 怎样提取魔兽加密RPG地图中的信息 魔兽争霸地图解密问题 魔兽争霸加密地图如何解密? 关于打开加密魔兽RPG地图.......... 求好玩,耐玩,流行的单机游戏 求装备系统强大华丽的大型RPG/ARPG单机游戏,最好3D,... 推荐一些比较旧但画面秀丽剧情不错的PC单机游戏 求一款最好是画面唯美的Q版单机游戏 快打旋风红白机金手指 fc快打旋风所有角色的出招表 FC游戏快打旋风在哪下载?要带音乐的! Fc快打旋风怎么下载 剑三丐帮技术手法一系列的问题 PVP奇穴点法及手法,要尽量详细 剑三95正式服今天开了,求问丐帮pvp奇穴和配装以及手法 剑网三丐帮改版后奇穴及手法 剑网3丐帮PVE 拉丁舞舞种用英语单词都表示什么? 拉丁舞的英语写法 我是学拉丁舞的 我们老师一般都是英语的 所以希望谁知道能说一... 拉丁舞的英语怎么说? 求剑侠情缘2单机版下载地址 不要白金版的啊 剑侠情缘2白金版完整版下载,谢谢,一定得是完整版本的 求剑侠情缘2白金版下载地址 剑侠情缘2白金版 下载 GT740的显卡是不是跟GTX650差不多啊?如果性能接近G... 小米笔记本pro有必要买i7吗 小米笔记本pro性能评测,小米笔记本pro怎么样 小米笔记本pro为什么它的固态硬盘性能会比同 僵尸毁灭工程这款游戏为何装了java 还是黑屏? 僵尸毁灭工程3.1在哪有下载...有没有更高的版本 僵尸毁灭工程下载链接 僵尸毁灭工程点开就是这样如图,没有办法运行 RPG制作大师的素材能自己制作吗?? rpg制作大师如何添加素材 谁能给我一个RPG制作大师的现代素材? 求几个RPG制作大师VX的素材 剑三 五毒怎么样? 剑网三 五毒毒经怎么能提高DPS? [剑三五毒]6300的五毒输出2w2正常吗?如何提高? 剑网三 五毒怎样 魔兽世界60级战士用什么天赋练级快? 如何加点? 魔兽世界 SS升级天赋选什么? 魔兽世界SS用什么天赋练级好些 魔兽世界 SS升级什么天赋最快最好? 《女人心事》是史兰芽和谁主演的 为什么说鞋子多的女人心事比较多? 女人心事歌词 一个女人心事多老操心未来事先准备查风水 我用rpg maker做游戏,我想用一个qq音乐上的一个小提...