网络游戏外挂制作之我所见(2)

开始看网络游戏外挂制作类书 一些文章﹐對你有用﹗网络游戏外挂编写初级教程 http://www.csdn.net/develop/article/21/21361.shtm网络游戏外挂制作之我所见(1) http://www.csdn.net/Develop/Read_Article.asp?Id=17641网络游戏外挂制作之我所见(2) http://www.csdn.net/Develop/Read_Articl 阅读详情

上回对五种类型的外挂做了一个大体的概括,大家对这几种外挂都有了一定的了解,现在就依次(制作难度)由浅到深谈谈我对外挂制作的一些认识吧~~~~
首先,先来谈一下动作式的外挂,这也是我第一次写外挂时做的最简单的一种。
记得还在“石器”时代的时候,我看到别人挂着一种软件(外挂)人物就可以四外游走(当时我还不知道外挂怎么回事^_^),于是找了这种软件过来研究(拿来后才听别人说这叫外挂),发现这种东东其实实现起来并不难,仔佃看其实人物的行走无非就是鼠标在不同的地方点来点去而已,看后就有实现这功能的冲动,随后跑到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  // vertical position
   );
3、模拟鼠标发出按下和放开的动作,我们要用到mouse_event函数来实现,具休使用方法用下:
VOID mouse_event(

    DWORD dwFlags, // flags specifying various motion/click variants
    DWORD dx, // horizontal mouse position or position change
    DWORD dy, // vertical mouse position or position change
    DWORD dwData, // amount of wheel movement
    DWORD dwExtraInfo  // 32 bits of application-defined information
   );
在它的dwFlags处,可用的事件很多如移动MOUSEEVENTF_MOVE,左键按下MOUSEEVENTF_LEFTDOWN,左键放开MOUSEEVENTF_LEFTUP,具体的东东还是查一下MSDN吧~~~~~
好了,有了以前的知识,我们就可以来看看人物移走是怎么实现的了:

  getcursorpos(point);
  setcursorpos(ranpoint(80,windowX),ranpoint(80,windowY));//ranpoint是个自制的随机坐标函数
  mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
  mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
  setcursorpos(point.x,point.y);

看了以上的代码,是不是觉得人物的游走很简单啦~~,举一仿三,还有好多好东东可以用这个技巧实现(我早就说过,TMD,这是垃圾外挂的做法,相信了吧~~~),接下来,再看看游戏里面自动攻击的做法吧(必需游戏中攻击支持快捷键的),道理还是一样的,只是用的API不同罢了~~~,这回我们要用到的是keybd_event函数,其用法如下:
VOID keybd_event(

    BYTE bVk, // virtual-key code
    BYTE bScan, // hardware scan code
    DWORD dwFlags, // flags specifying various function options
    DWORD dwExtraInfo  // additional data associated with keystroke
   );
我们还要知道扫描码不可以直接使用,要用函数MapVirtualKey把键值转成扫描码,MapVirtualKey的具体使用方法如下:
UINT MapVirtualKey(

    UINT uCode, // virtual-key code or scan code
    UINT uMapType  // translation to perform
   );
好了,比说此快接键是CTRL+A,接下来让我们看看实际代码是怎么写的:

  keybd_event(VK_CONTROL,mapvirtualkey(VK_CONTROL,0),0,0);
  keybd_event(65,mapvirtualkey(65,0),0,0);
  keybd_event(65,mapvirtualkey(65,0),keyeventf_keyup,0);
  keybd_event(VK_CONTROL,mapvirtualkey(VK_CONTROL,0),keyeventf_keyup,0);

首先模拟按下了CTRL键,再模拟按下A键,再模拟放开A键,最后放开CTRL键,这就是一个模拟按快捷键的周期。
(看到这里,差不多对简易外挂有了一定的了解了吧~~~~做一个试试?如果你举一仿三还能有更好的东东出来,这就要看你的领悟能力了~~,不过不要高兴太早这只是才开始,以后还有更复杂的东东等着你呢~~)

版权说明:
您可以随意复制、分发、下载此文档。但未经本人同意,您不可以截取、改动本文片断,或用本文谋取任何形式的利益。

游戏外挂制作 VB 为什么要学制作外挂   学习制作外挂,其实是学习一门网络技术,不是仅仅是游戏!  我们玩游戏游戏公司玩我们,你可以忍受游戏的不平衡吗?你可以忍受游戏的BUG吗,你愿意交钱去买外挂(有时后还可能上当受骗)吗?你不愿意自己做外挂自己用吗?你不愿意做几个外挂给你的朋友使用吗?你不愿意体验制作外挂的乐趣吗?你不愿意自己的游戏ID有很多钱,很好的装备,很高的等级吗?看到别人拿着外挂到处 阅读详情

相关推荐

delphi外挂制作

KeyLife富翁笔记 (此作品参加“Borland ALM 产品开发者竞赛参赛”,请大家给他打分。) 作者: 微程标题: Delphi深度之旅——网络游戏外挂制作 关键字: 外挂,API,Delphi,游戏 分类: 开发经验 密级: 参赛 (评分:★★★★★ , 回复: 37, 阅读: 8595) »»昆明 刘悦 在几年前我看到别人玩网络游戏用上了外挂,做为程序员的我心里实在是不爽,想搞

goldkiss99的专栏 2093

网络游戏外挂制作之我所见(1)

在几年前我看到别人玩网络游戏用上了外挂,做为程序员的我心里实在是不爽,想搞清楚这到底是怎么回事。就拿了一些来研究,小有心得,拿出来与大家共享,外挂无非就是分几种罢了(依制作难度):1、动作式,所谓动作式,就是指用API发命令给窗口或API控制鼠标、键盘等,使游戏里的人物进行流动或者攻击,最早以前的“石器”外挂就是这种方式。(这种外挂完全是垃圾,TMD,只要会一点点API的人都知道该怎么做,不过这种

4028

网络游戏外挂编写初级教程

做自己喜欢的! ------ 明天你来自己做外挂 随着网络游戏的日益火爆,很多玩家都投身到游戏中。目前很多玩家都依赖于一些游戏外挂程序来进行游戏。那么做一个游戏外挂程序是否是一件很困难的事呢?回答是"否",诚然编写一些程序是需要一些基本知识的,所以我们想以最简单的语言来给你讲授编写外挂程序的一些技巧,一些方法,并提供给你一些基本的辅助工具,即使你是一个菜鸟,看了我们的教程,并技巧地使用我们提供

天之剑 1860

“黑客”深度学习之“游戏外挂原理实现”之美

最近很多热爱玩游戏的朋友看了我文章后,经常私信问我,“你是黑客吗?”我回答“我是一个白帽子黑客”。“那能不能帮我攻入游戏系统做一款游戏外挂,咱们一起赚钱?”我就只能呵呵了,肯定是不可以的,技术上虽然可以实现但是原则上一定不要那么做。 首先大家可以学习如何做外挂,也可以自己在家用单机游戏外挂来测试,这样既能提高自身技术又能满足自己的好奇心,但是如果为了谋取利益攻击网络游戏,做一款外挂这样就是触犯...

游戏开发、游戏引擎开发、逆向破解爱好者 5779

WindowFromPoint和GetCursorPos

HWND WindowFromPoint(    POINT Point  // structure with point   ); 函数功能:该函数获得包含指定点的窗口的句柄。BOOL GetCursorPos(    LPPOINT lpPoint  // address of structure for cursor position     ); POINT MousePo

gdhuman的专栏 1046

网络游戏外挂制作(3)-2

 网络游戏与单机游戏  说到网络游戏,不得不让人联想到单机游戏,实际上网络游戏的实质脱离不了单机游戏制作思想,网络游戏和单机游戏的差别大家可以很直接的想到:不就是可以多人连线吗?没错,但如何实现这些功能,如何把网络连线合理的融合进单机游戏,就是我们下面要讨论的内容。在了解网络互连具体实现之前,我们先来了解一下单机与网络游戏它们各自的运行流程,只有了解这些,你才能深入网络游戏开发的核心。...

355

网络游戏外挂核心封包揭密

网络游戏的封包技术是大多数编程爱好者都比较关注的关注的问题之一,在这里就让我们一起研究一下这一个问题吧。  别看这是封包这一问题,但是涉及的技术范围很广范,实现的方式也很多(比如说APIHOOK,VXD,Winsock2都可以实现),在这里我们不可能每种技术和方法都涉及,所以我在这里以Winsock2技术作详细讲解,就算作抛砖引玉。  由于大多数读者对封包类编程不是很了解,我在这里就简单介绍一下相...

编程开发资料库 602

网络游戏外挂制作2)- -2007-08-21 21:33相关文件下载 网络包的截获(1.0)

 网络游戏外挂制作2)- -2007-08-21 21:33相关文件下载 网络包的截获(1.0) mpeg流媒体播放示例(1.0) 完整的替换socket源代码  今天石器上不去,没法调程序,写篇文章给想学写外挂的朋友参考  一、先说一下写一个外挂需要什么条件  1、熟练的C语言知识  目前的外挂大部分都是用BC或者是vc写的,拥有熟练的C语言知识是写外挂的基

zhoubaocun的专栏 1554

强帖转入

 http://www.delphibbs.com/keylife/iblog_show.asp?xid=507 昆明 刘悦 在几年前我看到别人玩网络游戏用上了外挂,做为程序员的我心里实在是不爽,想搞清楚这到底是怎么回事。就拿了一些来研究,小有心得,拿出来与大家共享,外挂无非就是分几种罢了(依制作难度):1、动作式,所谓动作式,就是指用API发命令给窗口或API控制鼠标、键盘等,使游戏

tkpig 459

网络游戏外挂与反外挂的研究

网络游戏行业作为互联网新兴产业代表之一,在其高速成长的同时,也饱受安全问题的侵害。今年热门的《绝地求生》,更是外挂肆虐,导致用户大量流失,严重损害了开发商的利益和该行业的健康发展。研究本课题正是为了能够寻找出解决当前游戏开发商所面临困难的途径,维护网络游戏健康稳定的发展,给该行业的发展提供有力的保障。

qq_17347313的博客 1万+

网络游戏外挂制作

原 作 者:不详原 出 处:不详    在几年前我看到别人玩网络游戏用上了外挂,做为程序员的我心里实在是不爽,想搞清楚这到底是怎么回事。就拿了一些来研究,小有心得,拿出来与大家共享,外挂无非就是分几种罢了(依制作难度):1、动作式,所谓动作式,就是指用API发命令给窗口或API控制鼠标、键盘等,使游戏里的人物进行流动或者攻击,最早以前的“石器”外挂就是这

dayong576的专栏 4303

外挂制作教程一

制作外挂的可行性             首先,让我们来看一下网络游戏的工作原理:   网络游戏是这样工作的: 1.由服务器记录保存所有用户资料,所有信息的修改都是服务器完成的 2.服务器接受客户机的请求发送必要的信息给客户机,以使玩家正常游戏 3.服务器接收客户机的信息反馈,并根据反馈信息,对游戏帐号作相应修改   从以上简单的介绍,我们可以看出,网络游戏可以认为是这样工作的:   由客户机电脑

lijingli10的专栏 6721

网络游戏外挂制作 (转贴)

在几年前我看到别人玩网络游戏用上了外挂,做为程序员的我心里实在是不爽,想搞清楚这到底是怎么回事。就拿了一些来研究,小有心得,拿出来与大家共享,外挂无非就是分几种罢了(依制作难度):1、动作式,所谓动作式,就是指用API发命令给窗口或API控制鼠标、键盘等,使游戏里的人物进行流动或者攻击,最早以前的“石器”外挂就是这种方式。(这种外挂完全是垃圾,TMD,只要会一点点API的人都知道该怎么做,不过这种

pipilang的专栏 1813
上一篇: 网络游戏外挂制作之我所见(3)
下一篇: 网络游戏外挂制作之我所见(4)
mprogramer
博客等级 码龄24年 29粉丝 12原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值