魔兽争霸全图的制作
首先说这篇文章不是想让大家做全图,而是让大家知道魔兽做全图的原理,做全图大概可以分了3种做法
1.修改魔兽程序对应的也是是改game.dll
2.修改平台程序
本文不鼓励大家做全图,本文的全图算是插件把
本文参考了Chaotic的HowTo create a basic Maphack
软件版本:魔兽争霸3:1.24
CheatEngine:5.61
制作MH的前期准备:
-游戏修改器,推荐使用CheatEngine()
-基础的汇编语言知识
-基础的游戏修改知识
-基础的编程能力
-窗口模式下运行魔兽争霸3(加-window参数)-&为其创建一个快捷方式,右键点击,选择“属性”,在“目标”框的
最后加上“-&&&&
地图迷雾的实现原理
用窗口模式启动游戏,随便选个小兵到野怪附近,这时由于该野怪在视野范围内所以可以看见它。
=打开CE,选择魔兽3的进程war3.exe,将Value值设为1,Value Type值设为Byte,点击First Scan开始搜索。
=搜索完毕后,切换到WC3,拉开小兵使那个野怪不可见,返回CE,将Value值改为0,点击Next Scan。
=搜索完毕后,再回到游戏,移动小兵,使那个野怪可见,返回CE,搜索1(看见就Scan 1,没有看见就Scan
0,不一定要
来回的切换)
我选的值是0FB2D7BC,我锁定这个地址的值为1,切换到游戏中会看到那个野怪在不断的闪烁。
=找到了地址就可以对其跟踪了,非常方便CE就有这个功能!
=取消该地址的锁定,右键点击这个地址,在弹出的菜单中选择Find out what&access from this
在此我想特别说明:Chaotic原文为
Now do a “Memory breakpoint on access” onto the first 8
You should reach this address:
6F2A3B91 |. 66:8B3C41 MOV DI,WORD PTR DS:[ECX EAX*2]
Remove that memory breakpoint again and try to change it like
他说的很简单You should reach this
address但是我认为这部分确是最难的部分,应为我们在CE中得到的内存地址
并不是6F2A3B91 |. 66:8B3C41 MOV DI,WORD PTR DS:[ECX EAX*2]
,这条地址需要我们在汇编中去查找
当然找到那个地址后把他设置为1就OK了 这样就全图了
大致思路如下:
1.获取魔兽争霸3的进程号。
2.提升自己的debug权限(否则无法用writeprocessmemory)。
3.对魔兽进程的相关地址进行改写
对应的C 代码是这样的希望对照着Chaotic的HowTo create a basic
&windows.h&&&
void EnableDebugPriv();&&
int main()&&
&&& //We have
to set debug privileges for our app to be allowed to OpenProcess
(war3.exe)&&
EnableDebugPriv();&&
&&& //Get a
Handle on Warcraft III
hwar3 = FindWindow("Warcraft
III",NULL);&&
(!hwar3) //If we can't find the
window...&&&&&&
MessageBox(0, "Run Warcarft III First!", "",
GetWindowThreadProcessId(hwar3,
&&& HANDLE
hopen = OpenProcess(PROCESS_ALL_ACCESS, false,
(!hopen) //Can't open Warcarft III's process.. Must be a PID
MessageBox(0, "Your getting a PID error, use LoaderZ.", "",
MB_OK);&&&
we're ready to change the
remember: 6F2A3B91 66:BF 0F00 MOV
data[] = {0xBF,0x0F,0x00};&&
success = WriteProcessMemory(hopen,(LPVOID)0x6F2A3B92,
if(success)//Everything
MessageBox(NULL, "Hack Loaded - Remember to Vist
else//There was an error!&&
MessageBox(NULL, "Couldn't load hack", "",
Remember to be clean&&
CloseHandle(hopen);&&
&&& return
void EnableDebugPriv()&&
&&& HANDLE
sedebugnameV&&
TOKEN_PRIVILEGES&&
OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES |
TOKEN_QUERY,
&hToken);&&
LookupPrivilegeValue(NULL, SE_DEBUG_NAME,
&sedebugnameValue);&&
tkp.PrivilegeCount = 1;&&
tkp.Privileges[0].Luid =
sedebugnameV&&
tkp.Privileges[0].Attributes =
SE_PRIVILEGE_ENABLED;&&
AdjustTokenPrivileges(hToken, false, &tkp, sizeof
tkp, NULL, NULL);&&
CloseHandle(hToken);&&
最后想说其实如果你真想开全图的话可以到国外的一些网站去下,下篇文章会介绍一样工具--------能查出别人开外挂没有
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。您的当前位置是:
&->&魔兽争霸始终不能玩,总是说缺少directX,我都是11的了,显示驱动也是最新的,游戏也换了好几个网站重新装了。
魔兽争霸始终不能玩,总是说缺少directX,我都是11的了,显示驱动也是最新的,游戏也换了好几个网站重新装了。
参与人数:0
你可能感兴趣的
蟹么么推荐专题