首页
社区
课程
招聘
[原创]魔兽争霸改键工具(附源码),仅以此讨论Hook基础技术
发表于: 2009-11-13 00:14 19259

[原创]魔兽争霸改键工具(附源码),仅以此讨论Hook基础技术

2009-11-13 00:14
19259

--------------------------------------------------------------------------------------------------------
【文章标题】: 魔兽争霸改键工具(附源码),仅以此讨论Hook基础技术
【文章链接】: http://bbs.pediy.com/showthread.php?t=101149
【文章作者】: 乖宝宝~
【作者QQ号】: 124272113
【编写语言】: VC++
【使用工具】: VC++6.0
【操作平台】: Microsoft Windows XP
【软件介绍】: 魔兽争霸改键工具
【作者声明】: 仅以此讨论Hook基础技术,失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
Windows核心编程里面说到钩子必须用DLL来是实现(第五版 第19章的章节简介)。原话是这样的:Windows提供的某些特性只有DLL才能使用。例如,我们可以(通过使用SetWindowsHookEx和SetWinEventHook来)安装某些挂钩函数,但前提条件是必须将挂钩通知函数存放在DLL中。但是我写的这个就没有用到DLL,就一个单独应用程序,但是功能上应该没有问题的。难道书上说的不对?求大牛赐教。。。
本来认为这个应该很Easy,就用简单的全局钩子就能解决问题,可是真的做起来还是遇到不少问题的,首先分析下功能
1.简单的显血功能
开始我模拟按ALT键,可是问题来了,点鼠标左键就相当于发信号了,还有按A键就修改敌方和我方的小兵的颜色,这样显然不行。后来才知道常按'[' ']'这俩键分别是显示我方血条和敌方血条。汗!玩了这么多年真3还真不知道这俩键还有这功能,在CSND上找了一个帖子,里面介绍的这俩显血键,因此我们可以模拟键盘消息来显血,显血功能暂时就这样解决了。
2.简单的改键功能
在回调函数里面做一个“小动作”,具体代码如下


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (59)
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
收下看看。。。。。。。。。。。。。。。。。。。
2009-11-13 09:29
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
学习学习。。
2009-11-13 11:49
0
雪    币: 47
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
好东西 下来看看
2009-11-13 14:53
0
雪    币: 173
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
暂时不下载源码啦,看不懂,还是先好好看asm吧
2009-11-13 15:15
0
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
判断输入状态太简漏了
参考JIAJIA魔兽助手
2009-11-13 23:14
0
雪    币: 19
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
我觉得这个判断太简陋了,只是我没想到更好的方法  这个方法也能实现  呵呵~~~
2009-11-14 02:39
0
雪    币: 399
活跃值: (38)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
8
我也属于玩了好久真三,不知道'['和']'两个键也可以显血的人
PS.我已经发给你一个邀请码了,什么时候和你切磋真三
2009-11-14 09:09
0
雪    币: 51
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
对了,魔兽争霸的游戏引擎谁有哈,我有魔兽改键的源码,没有魔兽争霸的源码,望有反编译出来的牛人发给小弟我你的代码瞧瞧哈!
2009-11-15 13:49
0
雪    币: 51
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
LZ,有时间给个信息啊,我也玩了N久的真三,有时间和你们这些牛人切磋下哈!
2009-11-15 13:52
0
雪    币: 433
活跃值: (1870)
能力值: ( LV17,RANK:1820 )
在线值:
发帖
回帖
粉丝
11
support
2009-11-15 14:14
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
版本 1.20e
Hook hGameDll+0xD0227处。
//Esi:Msg
//Edx:wParam
//Ecx:lParam
//Edi:hWnd
//0x45CB8C为聊天输入标志
if(Reg.Esi==WM_KEYDOWN && Reg.Edx!=VK_RETURN && 0==*(int*)0x45CB8C)
{
     //TODO:
}
2009-11-16 12:05
0
雪    币: 15
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
好东西 下来看看 !!!
2009-11-16 18:20
0
雪    币: 146
活跃值: (182)
能力值: ( LV13,RANK:220 )
在线值:
发帖
回帖
粉丝
14
EN。。。,真三我玩的第一个游戏
2009-11-16 18:28
0
雪    币: 169
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
对了, 我有魔兽世界改键脚本, 谁有魔兽世界的游戏引擎啊?谁跟我换? 希望暴雪老总的孩子把他老爸的硬盘里的代码弄出来瞧瞧哈!
2009-11-25 09:29
0
雪    币: 73
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
人家的这么庞大的商业引擎不会有源码流出吧...
2009-11-25 10:52
0
雪    币: 14
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
[QUOTE=stalker;711901]我也属于玩了好久真三,不知道'['和']'两个键也可以显血的人
PS.我已经发给你一个邀请码了,什么时候和你切磋真三[/QUOTE]

应该说玩魔兽的时候不短了,但还真不知道这两个键……以前用U9助手的时候,不知道他为什么会显示对方和已方的血,现在明白了!!
2009-11-25 10:57
0
雪    币: 50
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
额 我顶 我正学呢
2009-12-4 04:30
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
呵呵,这个我也玩了很久,也不知道'['和']'两个键也可以显血的人。
2009-12-4 07:16
0
雪    币: 287
活跃值: (18)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
20
不错的帖子,我有个问题想请教一下楼主,我想写一个程序来HOOK魔兽的收发函数,魔兽已经启动再来HOOk是没问题的,但是我想像浩方一样,用用软件来启动魔兽然后再来HOOK,这样就出现问题了,有时能HOOK,有时却不能.我怀疑是魔兽没有启动完所以没有HOOK住,然后我设置sleep时间来,成功率就大一点.我想问楼主有没有方法来判断魔兽是否已经启动了,怎么样才能准确的HOOK.
2009-12-4 09:17
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
21
有没有试过我用个方法  就是遍历窗口  查找WarIII的窗口句柄   找到了 说明启动了  找不到 说明没有启动   不妨一试。。。我不知道能否成功哈~~
2009-12-4 09:48
0
雪    币: 99
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
真三可以用warkey来改键
2009-12-4 15:48
0
雪    币: 287
活跃值: (18)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
23
现在没有测试,到时候试试你的方法,谢了
2009-12-4 15:56
0
雪    币: 11
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
还不明白啊,那段代码是干什么的??按键有释放键
2009-12-4 19:54
0
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
study,写过类似的,但简陋的不成样子,这个我好好看看, 如果看得懂的话,
2009-12-4 22:48
0
游客
登录 | 注册 方可回帖
返回
//