游戏外挂设计技术探讨
日期:2008年2月25日 作者: 查看:[大字体 中字体 小字体]-
int X, // 鼠标的水平方向位置。
int Y //鼠标的垂直方向位置。
);
通常游戏角色的行走都是通过鼠标移动至目的地,然后按一下鼠标的按钮就搞定了。下面我们使用上面介绍的API函数来模拟角色行走过程。
CPoint oldPoint,newPoint;
GetCursorPos(&oldPoint); //保存当前鼠标位置。
newPoint.x = oldPoint.x+40;
newPoint.y = oldPoint.y+10;
SetCursorPos(newPoint.x,newPoint.y); //设置目的地位置。
mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);//模拟按下鼠标右键。
mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);//模拟放开鼠标右键。
2. 键盘模拟技术
在很多游戏中,不仅提供了鼠标的操作,而且还提供了键盘的操作,在对攻击对象进行攻击时还可以使用快捷键。为了使这些攻击过程能够自动进行,外挂程序需要使用键盘模拟技术。像鼠标模拟技术一样,Windows API也提供了一系列API函数来完成对键盘动作的模拟。
模拟键盘动作API函数keydb_event,它可以模拟对键盘上的某个或某些键进行按下或放开的动作。
VOID keybd_event(
BYTE bVk, // 虚拟键值。
BYTE bScan, // 硬件扫描码。
DWORD dwFlags, // 动作标识。
DWORD dwExtraInfo // 与键盘动作关联的辅加信息。
);
其中,bVk表示虚拟键值,其实它是一个BYTE类型值的宏,其取值范围为1-254。有关虚拟键值表请在MSDN上使用关键字“Virtual-Key Codes”查找相关资料。bScan表示当键盘上某键被按下和放开时,键盘系统硬件产生的扫描码,我们可以MapVirtualKey()函数在虚拟键值与扫描码之间进行转换。dwFlags表示各种各样的键盘动作,它有两种取值:KEYEVENTF_EXTENDEDKEY和KEYEVENTF_KEYUP。
下面我们使用一段代码实现在游戏中按下Shift+R快捷键对攻击对象进行攻击。
keybd_event(VK_CONTROL,MapVirtualKey(VK_CONTROL,0),0,0); //按下CTRL键。
keybd_event(0x52,MapVirtualKey(0x52,0),0,0);//键下R键。
keybd_event(0x52,MapVirtualKey(0x52,0), KEYEVENTF_KEYUP,0);//放开R键。
keybd_event(VK_CONTROL,MapVirtualKey(VK_CONTROL,0),
KEYEVENTF_KEYUP,0);//放开CTRL键。
3. 激活外挂
上面介绍的鼠标和键盘模拟技术实现了对游戏角色的动作部分的模拟,但要想外挂能工作于游戏之上,还需要将其与游戏的场景窗口联系起来或者使用一个激活键,就象按键精灵的那个激活键一样。我们可以用GetWindow函数来枚举窗口,也可以用Findwindow函数来查找特定的窗口。另外还有一个FindWindowEx函数可以找到窗口的子窗口,当游戏切换场景的时候我们可以用FindWindowEx来确定一些当前窗口的特征,从而判断是否还在这个场景,方法很多了,比如可以GetWindowInfo来确定一些东西,比如当查找不到某个按钮的时候就说明游戏场景已经切换了等等办法。当使用激活键进行关联,需要使用Hook技术开发一个全局键盘钩子,在这里就不具体介绍全局钩子的开发过程了,在后面的实例中我们将会使用到全局钩子,到时将学习到全局钩子的相关知识。 - 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] 下一页
-
- 游戏外挂设计技术探讨 相关文章:
- ·.travel旅游域名注册详细放宽条件首次批露
- ·Travel旅游域名政策放宽或引发抢注潮
- ·玩对对碰游戏注意事项
- ·让傲游更加稳定流畅
- ·傲游Maxthon设置有技巧 浏览网页更稳定
- ·旅游资讯网站首页的设计分析
- ·网游大盗关闭某些安全软件并盗号
- ·QQ游戏斯诺克贴库球的打法
- ·IT网游八大富豪身价曝光(2007年)
- ·腐败之盗多进程加载盗取众多网游
- 游戏外挂设计技术探讨 相关软件
- ·畅游系列之坦克大战
- ·《葫芦娃大战蝎子王》游戏试玩
- ·《Toribash》游戏试玩
- ·变形金刚游戏GT独占宣传片
- ·《古墓丽影十周年纪念版》正式版地图任我游工具
- ·【连环画】铁道游击队 01 血染洋行(沪美版)
- ·游戏马—边锋记牌器
- ·游戏马-QQ记牌器
- ·扑克游戏 81.17
- ·天狼星语音控制大话西游
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:成长的烦恼:进一步理解设计模式
下一篇:中文Google地图的发展前景
精品推荐
热点TOP10
- ·游戏外挂设计技术探讨
- ·Solaris 10 安装及SVC管理及X及Vmware及其它可能遇到的一些问题
- ·简单对象访问协议(SOAP)初级指南
- ·DCOM揭秘之六
- ·Java 2中的Facade设计模式
- ·DB2 数据库设计:取得最佳性能的准则
- ·ADO.NET实用经验无保留曝光
- ·游戏开发新手入门之跟踪窗口和使用GDI
- ·利用API在Windows下创建进程和线程
- ·DB2数据库优化10 佳性能技巧
- ·四种网络游戏外挂的设计方法
- ·Message dispatch,失踪的链环
- ·游戏开发新手入门之Windows编程
- ·网络监听技术概览
- ·数据结构与算法总论
- ·自建Blog网站完全图解
- ·Java 2中的adapter模式
- ·程序语言效率比较
- ·叠代器模式(Iterator)
- ·原始套接字透析之综合实例:网络黑手
