码迷,mamicode.com
首页 > 其他好文 > 详细

魔兽争霸III 全图的制作

时间:2018-10-16 19:26:47      阅读:456      评论:0      收藏:0      [点我收藏+]

标签:标记   命令   地址   ptr   一段   工具   过多   图片   地方   

研究WarCraft III 全图有一段时间了,在这里记录一下制作的过程。

首先 凭经验 假设每个单位都有一个标记 ,如果能被看见为1 不能被看见为0。用cheatengine来测试这个结论的正确性。

选择一个单位 当有该单位视野时 搜索 (byte类型) 1,走到不能看见该单位的地方 搜索0 通过多次的筛选

可以找到一个地址 标记着该单位是否可见

技术分享图片

在ce中锁定这个值 回到游戏 能看见这个单位在闪烁

技术分享图片

用ce找出是什么访问了这个地址

6F3A20A3 - 66 8B 0C 41   - mov cx,[ecx+eax*2]
6F00F5CD - 0FB7 04 41   - movzx eax,word ptr [ecx+eax*2]
6F4AC4F4 - 0FB7 31  - movzx esi,word ptr [ecx]
6F4076F4 - 8B 0C 10   - mov ecx,[eax+edx]


Game.dll+3A20AB - 66 81 C9 00F0         - or cx,F000 { 61440 }
Game.dll+F5D1 - 0D 00F00000           - or eax,F000 { 61440 }
这两个命令与全图显示单位有关的
我们把 F000 修改为 F001 然后地图已经打开了 我们可以看见视野外的单位

技术分享图片

这就是绝大多数 辅助工具的原理了。通过修改Game.DLL的字节码来作弊。

其他的功能如显示隐身单位,显示敌方信号的功能都可以通过修改内存来实现,GitHub上针对不同版本应该patch的地址,这里就不累述了。

 

魔兽争霸III 全图的制作

标签:标记   命令   地址   ptr   一段   工具   过多   图片   地方   

原文地址:https://www.cnblogs.com/BD1A489/p/9799930.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!