求魔兽1.20e下载 MH

C# winform 魔兽MH全图制作教程(1): 开发准备工作
一、开发条件:
Visual Studio 2008
win xp,win 7,win 2003.
C# 语言基础
能够运行游戏:《魔兽争霸3冰封王座》
拥有版本魔兽客户端版本切换器1.20E,1.24E,1.24D
二、设计思路:
当时做这个程序没考虑太多,下手直接写代码,所以感觉有很多不足,但还是要讲下我的设计思路。
把魔兽整个体系看做一个对象,而且它拥有属性字段如:魔兽版本信息、自身动态内存地址,扩展功能:窗体最大化、视野高度.等等。而且我们要把字段封装起来(也为了后期制作方便)字段设置为静态,以便快速获得信息。
无论是全图,还是改建改窗体,都是在调用系统API: ,我们使用的接口大部分来自这里。所以你要知道如果失败了,那么调试时:库有没有导入成功、接口方法是否返回了正确的值、传参是否正确这都将是成功完成功能的关键所在。
写内存函数你必须了解。也就是:。只要知道写入的内存地址,写入的值,以及进程,那么你就可以成功的调用,那么这些东西我们该如何获得呢?
要得知游戏的内存地址也就是动态内存地址(基础+偏移),我们必须能获得Game.dll的信息,判断版本也靠它,所以它也是个关键。游戏分多个版本,1.20E一般为普通RPG地图娱乐使用,1.24B,1.24E是目前比较流行的,也是Dota的主流版本,所以如果把1.20E的内存
如果你看完以上内容肯定会得出一个结论,也就是我们围绕在使用的:
&&& 信息 &&& Game.dll 而我们主要做的就是:获得信息,告知接口。
三、调用结构图:
结构图会根据文章进度解析其他参数来源,下一节会介绍基址的获得方法。
W.je(zlawliet)作品,转载注明出处:
阅读(...) 评论()版块主题&&&
929/387164
534/159518
638/382822
557/149703
543/138484
678/374200
514/286540
439/134056
193/189183
- [阅读权限 5]查看: 4366|回复: 9
怎么在浩方使用MH?
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
才可以下载或查看,没有帐号?
怎么在浩方使用MH?请教下!本人菜鸟一个,详细点~!!
那个是个全图作弊器哇` 应该能用额`你下个中文的
用的前提下必须魔兽版本是1。20E版。就可以用了
杂个都那么先进呢
作弊器 无视中。。。。。。。。。
這個是1.20E 的補丁
下面這個就是MH,算是最終版的了~但是作弊可恥,僅供娛樂。LZ最好不要在競技游戲上使用作弊。
22:43 上传
点击文件名下载附件
165.69 KB, 下载次数: 207
LS的东西怎下载不了。。。
LS难道也想作弊?
下载不了的话那就是论坛问题?
晕,作弊那还有什么意思。。。。。。
怎么作弊&&我也想试试
本站推荐 /4
每天都有动漫哦~~
VIP;我是土豪等勋章正在陆续添加中······
为了提高地图作者的待遇,特别实行了一个新措施,也就是签约作者。
本次招募签约作者 [10] 名,奖励中有RMB哦
本人作为第一任动漫区版主,在这个动漫引领时节潮流的时刻。深感压力重大!
欲寻觅一位动漫达人一起管理,讨论,推荐。和交流动漫!
2000年之前的影视艺术是电影,2000以后的影视艺术是动漫。
我们正处于历史进程转变的关键期,在这个承上启下的时刻。我们应当如何回应?
动漫用其不拘一格的表现手法和表达形式,给我们带来不一样的视觉享受。生动的表情、奇幻的造型、千奇百怪的动作。让我们目不暇接!
在中国动漫被..........
Powered by5438人阅读
首先在这里说声抱歉,有很多的朋友给我留言都没有回复,有很长一段时间没上CSDN了,所以不好意思了大家&&
再就是有很多朋友用了我写的延迟T人工具,出现很多的BUG,对于这个我也只能说声抱歉,由于那个工具是很久以前写的,当时处理得很潦草,BUG存在时难免的,由于那段时间主要精力放在毕业设计上,所以也就没怎么去完善(我记得发布后的第三天我就把文章删了),等我有时间再去完善...
----------------------------------------------------------------我是分割线--------------------------------------------------------
先说为什么一直不冒泡的我怎么陡然出现吧,这段时间为复习看书看得有点心烦,就想玩两盘魔兽,给自己的借口是放松(其实隔三差五的去游泳池看美女已经算是放松了),要放松肯定就玩没技术含量的游戏了,就完了几把真三蓝宝石(不要鄙视我,我只是为了放松...),第三把的时候主机打出了一个&-MH&,然后所有人都看到我开了图,当时那个囧啊,刚想丢几句话去解释的时候被主机T出了游戏,心里顿感不爽啊,于是乎就想写个小程序把&-MH&给破了,参考了lynn以前写的一篇文章&&&
如何bypass某些地图的-MH&
/archives/221.html
原理Lynn说的差不多了,下面再简要说明一下...
要知道怎么过&-mh&命令,首先得知道地图的&-mh&做了些什么事情,从地图提取出war3map.j文件,搜索关键词&可能作弊&检测MH的触发器
function Trig_EagelAMH_Actions takes nothing returns nothing
call DisableTrigger(GetTriggeringTrigger())
call PolledWait(2.00)
call EnableTrigger(gg_trg_EagelSeekA)
call EnableTrigger(gg_trg_EagelSeekB)
call SetUserControlForceOff(bj_FORCE_ALL_PLAYERS)
call CreateNUnitsAtLoc(1,'hfoo',Player(15),udg_EagelAMHp,bj_UNIT_FACING)
set udg_EagelAMHu=bj_lastCreatedUnit
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=12
exitwhen bj_forLoopAIndex&bj_forLoopAIndexEnd
if(Trig_EagelAMH_Func007Func001C())then
call CreateFogModifierRadiusLocBJ(true,Player(-1+(bj_forLoopAIndex)),FOG_OF_WAR_VISIBLE,udg_EagelAMHp,512)
set udg_EagelAMHfog[bj_forLoopAIndex]=bj_lastCreatedFogModifier
call SelectUnitForPlayerSingle(udg_EagelAMHu,Player(-1+(bj_forLoopAIndex)))
call DestroyFogModifier(udg_EagelAMHfog[bj_forLoopAIndex])
set bj_forLoopAIndex=bj_forLoopAIndex+1
call PolledWait(1.)
call RemoveUnit(udg_EagelAMHu)
call TriggerExecute(gg_trg_EagelPrint)
call SetUserControlForceOn(bj_FORCE_ALL_PLAYERS)
call DisableTrigger(gg_trg_EagelSeekA)
call DisableTrigger(gg_trg_EagelSeekB)
call EnableTrigger(GetTriggeringTrigger())
endfunction
创建一个单位,再选中单位是一般地图反MH的做法,Lynn的那篇文章说的也是这种,而新真三蓝宝石也是使用了这种种方法来检测MH,先调用CreateFogModifierRadiusLocBJ,创建一块迷雾,再该坐标创建一个单位(好像是个人族步兵),然后再让玩家选择该单位,反正我们的目的就是破坏这段代码的功能,最直接的就是让他不做事,直接retn(好像没什么技术含量,都是Lynn说过的...)...
下面给出关键C++代码
&void CbypassDlg::OnBnClickedPatch()
// TODO: 在此添加控件通知处理程序代码
HWND hwar3=::FindWindow(L&Warcraft III&,L&Warcraft III&);
if(!hwar3)
MessageBox(L&can't find Warcraft III!&);
GetWindowThreadProcessId(hwar3, &pid);
HANDLE hopen = OpenProcess(PROCESS_ALL_ACCESS, false, pid);
// BYTE _data1[]= {0x33,0xC0,0xE9,0x96,0x01,0x00,0x00,0x90,0x90,0x90,0x90,0x90};//改写CreateFogModifierRadiusLoc 函数入口处的代码
BYTE _data2[]= {0x33,0xC0,0xE9,0xFC,0x00,0x00,0x00,0x90,0x90,0x90,0x90,0x90};//改写SelectUnit函数入口处的代码
//CreateFogModifierRadiusLoc 函数入口处 地址为0x6F2B3170
//SelectUnit函数入口处 地址为 0x6F2C59A0
// if(!WriteProcessMemory(hopen,(LPVOID)(0x6F2B3170), &_data1,12, NULL) || !WriteProcessMemory(hopen,(LPVOID)(0x6F2C59A0), &_data2,12, NULL))
if(!WriteProcessMemory(hopen,(LPVOID)(0x6F2C59A0), &_data2,12, NULL))
MessageBox(L&patch error!&);
MessageBox(L&success!&);
在上面的代码里可以看到我注释掉了修改CreateFogModifierRadiusLoc 函数入口处的部分,因为这样做是不行的,也就是说任何创建单位,创建物品之类的函数,如果retn掉的话,魔兽就会出现数据同步错误而掉线,所以只能修改操作函数,而不能修改影响魔兽数据的函数(在这里曾经犯过错误= =!)...
void CbypassDlg::OnBnClickedRecovery()
// 恢复函数
HWND hwar3=::FindWindow(L&Warcraft III&,L&Warcraft III&);
if(!hwar3)
MessageBox(L&can't find Warcraft III!&);
GetWindowThreadProcessId(hwar3, &pid);
HANDLE hopen = OpenProcess(PROCESS_ALL_ACCESS, false, pid);
// BYTE _data1[]= {0x55,0x8B,0xEC,0x83,0xEC,0x3C,0x8B,0x0D,0xBC,0x22,0x87,0x6F};
BYTE _data2[]= {0x55,0x8B,0xEC,0x83,0xEC,0x08,0x8B,0x0D,0xBC,0x22,0x87,0x6F};
// if(!WriteProcessMemory(hopen,(LPVOID)(0x6F2B3170), &_data1,12, NULL) || !WriteProcessMemory(hopen,(LPVOID)(0x6F2C59A0), &_data2,12, NULL))
if(!WriteProcessMemory(hopen,(LPVOID)(0x6F2C59A0), &_data2,12, NULL))
MessageBox(L&recovery error!&);
MessageBox(L&success!&);
============================================还是分割线===========================
相信已经说的够清楚了,程序源代码也没必要给出了,有上面两处关键代码就足够了
下载链接:
===============================================================================
CSDN上传附件以后审核要一段时间...请等待...
该程序只针对魔兽1.20E且只针对新真三蓝宝石地图的-MH命令...
方法已经给出,要过其他地图只需依葫芦画瓢...
都不知道VS对战平台的程序员在干什么,我用VS3.0正式版试了,此工具能正常运行...真不知道他们反外挂在哪里反??!!
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:664862次
积分:2314
积分:2314
排名:第6651名
原创:24篇
评论:407条
(1)(3)(1)(3)(3)(8)(3)(6)魔兽争霸补丁|魔兽争霸1.20e剑心补丁 下载地址
馨提示:您的IP是&&建议选择&&下载
游戏版本:1.20e
电信下载:
网通下载:
专用下载:
本类TOP下载周排行
热门IT产品}

我要回帖

更多关于 魔兽1.20e 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信