1. 程式人生 > >魔獸爭霸III 全圖的制作

魔獸爭霸III 全圖的制作

ptr 研究 打開 兩個 是否 類型 info arc cheat

研究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 全圖的制作