war3_jass基本 - 1
版本1.27.0.52240
-
war3地图相关工具
Ladik's MPQ Editor version 3.6.0.868 (Unicode Build) -
地图加密,导致MPQEditor打开显示只读
a.如果地图的list文件完整, 可以用MPQEditor新建, 复制这个文件
b.如果地图的list文件不全, 修复文件头
MPQ20
4D 50 51 1A 56 78 4F 50
4D 50 51 1A 20 00 00 00 -
jass语法检查可以用JassShopPro
其中包含几个基础的jass文件, 需要从patch.mpq中提取
实际检查调用 pjass.exe, 参数如: pjass.exe common.j Blizzard.j war3map.j -
war3map.w3u为单位定义
ulum 为价格
usma 为数量 -
game.dll 修改
包含功能暂停次数修改, 保存游戏次数限制修改, 地图40M大小限制修改
FileName = ..\Game.dll
PathList\0000\Descrip = PauseCountAdd
PathList\0000\NewHex = 909090
PathList\0000\Offset = 0030CCE5;
PathList\0000\OldHex = FF46385F5BB8010000005E8BE55DC20400
PathList\0000\Path = 1
PathList\0001\Descrip = SaveGameFlag
PathList\0001\NewHex = 8B703C
PathList\0001\Offset = 0030ECD6;
PathList\0001\OldHex = 89703C5F5E5DC20400CC56
PathList\0001\Path = 1
PathList\0002\Descrip = map-8M
PathList\0002\NewHex = 3D00000040
PathList\0002\Offset = 0084E930;0085EDB6;00871A66;
PathList\0002\OldHex = 3D00008000
PathList\0002\Path = 1
PathList\Count = 3 -
注入选择
用工具监视, 发现以下模块
G:\Games\WarcraftIII_12x\AUDIOSES.DLL
G:\Games\WarcraftIII_12x\bcrypt.dll
G:\Games\WarcraftIII_12x\CRYPTSP.dll
G:\Games\WarcraftIII_12x\d3d12.dll
G:\Games\WarcraftIII_12x\d3d8thk.dll
G:\Games\WarcraftIII_12x\d3d9.dll
G:\Games\WarcraftIII_12x\GLU32.dll
G:\Games\WarcraftIII_12x\GPAPI.dll
G:\Games\WarcraftIII_12x\mswsock.dll
G:\Games\WarcraftIII_12x\ncrypt.dll
G:\Games\WarcraftIII_12x\ntmarta.dll
G:\Games\WarcraftIII_12x\nvd3dum.dll
G:\Games\WarcraftIII_12x\OPENGL32.dll
G:\Games\WarcraftIII_12x\profapi.dll
G:\Games\WarcraftIII_12x\S3BASE.DLL
G:\Games\WarcraftIII_12x\SafeIE.dll
G:\Games\WarcraftIII_12x\USERENV.dll
G:\Games\WarcraftIII_12x\VERSION.dll
G:\Games\WarcraftIII_12x\VORT_DLS.DLL
G:\Games\WarcraftIII_12x\WSOCK32.dll
我选择 profapi.dll, 只要导出一些空函数, 可以直接注入