本文由澳洲置业专家贡献
昆明
刘悦
在几年前我看到别人玩网络游戏用上了外挂,做为程序员的我心里实在是不爽,想搞清楚这到底是怎么回事。就拿了一些来研究,小有心得,拿出来与大家共享,外挂无非就是分几种罢了(依制作难度): 1、动作式,所谓动作式,就是指用 API 发命令给窗口或 API 控制鼠标、键盘等,使游戏里的人物进行流动或者攻击,最早以前的“石器”外挂就是这种方式。 2、本地修改式,这种外挂跟传统上的一些游戏修改器没有两样,做这种外挂在编程只需要对内存地址有一点认识并且掌握 API 就可以实现, “精灵”的外挂这是这种方式写成的, 它的难点在于找到那些地址码, 找地址一般地要借助于别人的工具,有的游戏还有双码校验,正正找起来会比较困难。 3、木马式,这种外挂的目的是帮外挂制作者偷到用户的密码,做这种外挂有一定的难度,需要 HOOK 或键盘监视技术做底子,才可以完成,它的原理是先首截了用户的帐号或密码,然后发到指定邮箱。 4、加速式,这种外挂可以加快游戏的速度。原本我一直以为加速外挂是针对某个游戏而写的,后来发现我这种概念是不对的,所谓加速外挂其实是修改时钟频率达到加速的目的。 5、封包式,这种外挂是高难度外挂,需要有很强的编程功力才可以写得出来。它的原理是先截取封包, 后修改,再转发。这种外挂适用于大多数网络游戏,像 WPE 及一些网络游戏外挂都是用这种方式写成的, 编写这种外挂需要 apihook 技术,winsock2 技术…………以下就用 Delphi 实现网络游戏外挂。
2003-5-15 10:35:00 发表评语??? 2003-5-15 10:35:23 上回对五种类型的外挂做了一个大体的概括,大家对这几种外挂都有了一定的了解,现在就依次(制作难度)由浅到深谈谈我对外挂制作的一些认识吧~~~~ 首先,先来谈一下动作式的外挂,这也是我第一次写外挂时做的最简单的一种。记得还在“石器”时代的时候,我看到别人挂着一种软件(外挂)人物就可以四外游走(当时我还不知道外挂怎么回事^_^),于是找了这种软件过来研究(拿来后才听别人说这叫外挂),发现这种东东其实实现起来并不难,仔佃看其实人物的行走无非就是鼠标在不同的地方点来点去而已,看后就有实现这功能的冲动,随后跑到 MSDN 上看了一些资料,发现这种实现这几个功能,只需要几个简单的 API 函数就可以搞定: 1、首先我们要知道现在鼠标的位置(为了好还原现在鼠标的位置)所以我们就要用到 API 函数
GetCursorPos,它的使用方法如下: BOOL GetCursorPos(
LPPOINT lpPoint );
// address of structure for cursor position
2、我们把鼠标的位置移到要到人物走到的地方,我们就要用到 SetCursorPos 函数来移动鼠标位置,它的使用方法如下: BOOL SetCursorPos(
int X, // horizontal position int Y ); 3、模拟鼠标发出按下和放开的动作,我们要用到 mouse_event 函数来实现,具休使用方法用下: VOID mouse_event( // vertical position
DWORD dwFlags, // flags specifyi
游戏外挂制作 来自淘豆网m.daumloan.com转载请标明出处.