魔兽争霸全图的制作 魔兽争霸全图辅助工具

首先说这篇文章不是想让大家做全图,而是让大家知道魔兽做全图的原理,做全图大概可以分了3种做法

1.修改魔兽程序对应的也是是改game.dll

2.修改平台程序

3.做插件

本文不鼓励大家做全图,本文的全图算是插件把

本文参考了Chaotic的HowTo create a basic Maphack

软件版本:魔兽争霸3:1.24
CheatEngine:5.61

WindowsXP
VC6.0

制作MH的前期准备:
-游戏修改器,推荐使用CheatEngine(http://www.cheatengine.org/)
-基础的汇编语言知识
-基础的游戏修改知识
-基础的编程能力
-窗口模式下运行魔兽争霸3(加-window参数)->为其创建一个快捷方式,右键点击,选择“属性”,在“目标”框的

最后加上“-window”

第一部分 地图迷雾的实现原理

用窗口模式启动游戏,随便选个小兵到野怪附近,这时由于该野怪在视野范围内所以可以看见它。
=打开CE,选择魔兽3的进程war3.exe,将Value值设为1,Value Type值设为Byte,点击First Scan开始搜索。
=搜索完毕后,切换到WC3,拉开小兵使那个野怪不可见,返回CE,将Value值改为0,点击Next Scan。
=搜索完毕后,再回到游戏,移动小兵,使那个野怪可见,返回CE,搜索1(看见就Scan 1,没有看见就Scan0,不一定要

来回的切换)




我选的值是0FB2D7BC,我锁定这个地址的值为1,切换到游戏中会看到那个野怪在不断的闪烁。
=找到了地址就可以对其跟踪了,非常方便CE就有这个功能!
=取消该地址的锁定,右键点击这个地址,在弹出的菜单中选择Find out whataccess from thisaddress

在此我想特别说明:Chaotic原文为

Now do a “Memory breakpoint on access” onto the first 8bytes!

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 likethis :

MOV DI,1

他说的很简单You should reach thisaddress但是我认为这部分确是最难的部分,应为我们在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 basicMaphack看

#include<windows.h>

void EnableDebugPriv();

int main()

{

//We haveto set debug privileges for our app to be allowed to OpenProcess(war3.exe)

EnableDebugPriv();

//Get aHandle on Warcraft IIIwindow

HWNDhwar3 = FindWindow("WarcraftIII",NULL);

if(!hwar3) //If we can't find thewindow...

{

MessageBox(0, "Run Warcarft III First!", "",MB_OK);

returnfalse;

}

DWORDpid;

GetWindowThreadProcessId(hwar3,&pid);

HANDLEhopen = OpenProcess(PROCESS_ALL_ACCESS, false,pid);

if(!hopen) //Can't open Warcarft III's process.. Must be a PIDerror.

{

MessageBox(0, "Your getting a PID error, use LoaderZ.", "",MB_OK);

return false;

}

//Nowwe're ready to change thememory!

//Weremember: 6F2A3B91 66:BF 0F00 MOVDI,0x0F

BYTEdata[] = {0xBF,0x0F,0x00};

boolsuccess = WriteProcessMemory(hopen,(LPVOID)0x6F2A3B92,&data,3,NULL);

if(success)//Everythingworked

MessageBox(NULL, "Hack Loaded - Remember to Vistwww.SkillHackerZ.com", "",MB_OK);

else//There was an error!

MessageBox(NULL, "Couldn't load hack", "",MB_OK);

//Remember to be clean

CloseHandle(hopen);

//Done!

returntrue;

}

void EnableDebugPriv()

{

HANDLEhToken;

LUIDsedebugnameValue;

TOKEN_PRIVILEGES tkp;

OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES |TOKEN_QUERY,&hToken);

LookupPrivilegeValue(NULL, SE_DEBUG_NAME,&sedebugnameValue);

tkp.PrivilegeCount = 1;

tkp.Privileges[0].Luid =sedebugnameValue;

tkp.Privileges[0].Attributes =SE_PRIVILEGE_ENABLED;

AdjustTokenPrivileges(hToken, false, &tkp, sizeoftkp, NULL, NULL);

CloseHandle(hToken);

}

最后想说其实如果你真想开全图的话可以到国外的一些网站去下,下篇文章会介绍一样工具————能查出别人开外挂没有

  

爱华网本文地址 » http://www.413yy.cn/a/25101012/120689.html

更多阅读

内涵图的制作与使用 如何使用图片制作视频

内涵图的制作与使用——简介内涵图,不同于我们一般说的搞笑图片,而是真正的,图里面还包涵其它文件的“内涵”图。说白了,就是将一些不太想让别人知道的文件(如bt种子之类的)和一张图片合成为一张新的图片,原理和把多个文件压缩成一个压缩包

怎样制作树叶贴画 树叶贴画的制作过程

秋天不仅仅是收获的季节,秋天的景色也别有一番风味!秋天最值得欣赏的就是那五颜六色、形状各异的树叶啦!那些漂亮的树叶除了观赏之外,做树叶贴画也是个不错的选择!怎样制作树叶贴画——工具/原料不同颜色和形状的树叶若干、胶水一瓶

word表格制作全攻略 精 word表格的制作方法

word表格制作全攻略 精——简介我们经常在制作文档时会运用到表格,很多在word中运用文字技巧很熟练,但一碰到表格就头痛,其实word中表格也很简单,关键是大家要掌握一点技巧。word中表格应用主要包括,插入表格,增加行、列,删除行列,设置表格

手工剪纸:窗花的制作过程 窗花的剪法步骤图

手工剪纸:窗花的制作过程——简介过年的时候,为了给家里增添一些节日气氛,我们可以适当制作一些手工制品,用来装饰家居,会让家里变得更喜庆、更漂亮,家人的心情也因此会变得很愉快!下面,小编教大家一个手工剪纸的方法——剪制节日窗花。手

网络小说PS封面制作方法简单易学 简单易学的制作苹果酒

随着网络文学的发展,许多朋友都各自到起点,逐浪,17K等网站做了写手,却碰到了小说封面制作的苦恼,在这里我就说说如何简单快速的制作一张封面。1)首先您请下载一个比较容易的PS版本,比如我用的是PS CS3 如右图所示。2)找一张符合你小说内容

声明:《魔兽争霸全图的制作 魔兽争霸全图辅助工具》为网友蚊子丶真多分享!如侵犯到您的合法权益请联系我们删除