HKE注入脚本后无法创建游戏的原因分析及解决方法###
依山居 15:40 2013/9/25 星期三
原因分析:###
前天遇到未加密的魔兽争霸地图注入脚本后无法创建游戏,后来分析发现是使用YDWE编辑后引起的,使用YDWE编辑过的地图,war3map.j里会被自动补上很多注释:
globals //globals from YDTriggerSaveLoadSystem: constant boolean LIBRARY_YDTriggerSaveLoadSystem=true gamecache YDGC //endglobals from YDTriggerSaveLoadSystem //globals from YDWEGetForceOfPlayerNull: constant boolean LIBRARY_YDWEGetForceOfPlayerNull=true force yd_NullTempForce //endglobals from YDWEGetForceOfPlayerNull //globals from YDWEGetItemOfTypeFromUnitBJNull: constant boolean LIBRARY_YDWEGetItemOfTypeFromUnitBJNull=true item yd_NullTempItem
HKE脚本注入工具可能是简单地以globals等为关键字来决定代码的注入位置,所以YDWE产生的注释会让HKE注入错误,地图异常.
解决方法:###
为了方便使用HKE对地图注入脚本..
- 用地图优化工具优化可以将war3map.j中的注释删除.
- "废话"自己手动解压地图把注释删掉啦.
利用来防代码注入:###
根据这个特性,我想到了可以利用来作地图的脚本防注入.把globals \endglobals 等词包含进一段代码里,可以让HKE注册后地图出错.以此达到简单地防注入的目的.