首先凭经验假设每个单位都有一个标记,如果能被看见为1不能被看见为0。用cheatengine来测试这个结论的正确性。
选择一个单位当有该单位视野时搜索(byte类型)1,走到不能看见该单位的地方搜索0通过多次的筛选
可以找到一个地址标记着该单位是否可见
在ce中锁定这个值回到游戏能看见这个单位在闪烁
用ce找出是什么访问了这个地址
6F3A20A3-668B0C41-movcx,[ecx+eax*2]6F00F5CD-0FB70441-movzxeax,wordptr[ecx+eax*2]6F4AC4F4-0FB731-movzxesi,wordptr[ecx]6F4076F4-8B0C10-movecx,[eax+edx]
Game.dll+3A20AB-6681C900F0-orcx,F000{61440}Game.dll+F5D1-0D00F00000-oreax,F000{61440}这两个命令与全图显示单位有关的我们把F000修改为F001然后地图已经打开了我们可以看见视野外的单位
这就是绝大多数辅助工具的原理了。通过修改Game.DLL的字节码来作弊。
其他的功能如显示隐身单位,显示敌方信号的功能都可以通过修改内存来实现。下面直接给出应该patch的地址
THE END