怎样用VB制作游戏挂
答案:5 悬赏:0 手机版
解决时间 2021-11-22 11:02
- 提问者网友:原来太熟悉了会陌生
- 2021-11-21 12:13
怎样用VB制作游戏挂
最佳答案
- 五星知识达人网友:荒野風
- 2021-11-21 13:47
首先,需要编写一个全局钩子,使用它来激活外挂,激活键为F10。
创建全局钩子步骤如下:
(1).选择MFC AppWizard(DLL)创建项目ActiveKey,并选择MFC Extension DLL
(共享MFC拷贝)类型。
(2).插入新文件ActiveKey.h,在其中输入如下代码:
#ifndef _KEYDLL_H
#define _KEYDLL_H
class AFX_EXT_CLASS CKeyHook:public CObject
{
public:
CKeyHook();
~CKeyHook();
HHOOK Start(); //安装钩子
BOOL Stop(); //卸载钩子
};
#endif
(3).在ActiveKey.cpp文件中加入声明"#include ActiveKey.h"。
(4).在ActiveKey.cpp文件中加入共享数据段,代码如下:
//Shared data section
#pragma data_seg("sharedata")
HHOOK glhHook=NULL; //钩子句柄。
HINSTANCE glhInstance=NULL; //DLL实例句柄。
#pragma data_seg()
(5).在ActiveKey.def文件中设置共享数据段属性,代码如下:
SETCTIONS
shareddata READ WRITE SHARED
(6).在ActiveKey.cpp文件中加入CkeyHook类的实现代码和钩子函数代码:
//键盘钩子处理函数。
extern "C" LRESULT WINAPI KeyboardProc(int nCode,WPARAM wParam,LPARAM lParam)
{
if( nCode >= 0 )
{
if( wParam == 0x79 )//当按下F10键时,激活外挂。
{
//外挂实现代码。
CPoint newPoint,oldPoint;
GetCursorPos(&oldPoint);
newPoint.x = oldPoint.x+40;
newPoint.y = oldPoint.y+10;
SetCursorPos(newPoint.x,newPoint.y);
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//模拟按下鼠标左键。
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);//模拟放开鼠标左键。
keybd_event(VK_SHIFT,MapVirtualKey(VK_SHIFT,0),0,0); //按下SHIFT键。
keybd_event(0x52,MapVirtualKey(0x52,0),0,0);//按下R键。
keybd_event(0x52,MapVirtualKey(0x52,0),KEYEVENTF_KEYUP,0);//放开R键。
keybd_event(VK_SHIFT,MapVirtualKey(VK_SHIFT,0),KEYEVENTF_KEYUP,0);//放开SHIFT键。
SetCursorPos(oldPoint.x,oldPoint.y);
}
}
return CallNextHookEx(glhHook,nCode,wParam,lParam);
}
CKeyHook::CKeyHook(){}
CKeyHook::~CKeyHook()
{
if( glhHook )
Stop();
}
//安装全局钩子。
HHOOK CKeyHook::Start()
{ glhHook = SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,glhInstance,0);//设置键盘钩子。
return glhHook;
}
//卸载全局钩子。
BOOL CKeyHook::Stop()
{
BOOL bResult = TRUE;
if( glhHook )
bResult = UnhookWindowsHookEx(glhHook);//卸载键盘钩子。
return bResult;
}
(7).修改DllMain函数,代码如下:
extern "C" int APIENTRY
DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
//如果使用lpReserved参数则删除下面这行
UNREFERENCED_PARAMETER(lpReserved);
if (dwReason == DLL_PROCESS_ATTACH)
{
TRACE0("NOtePadHOOK.DLL Initializing!
");
//扩展DLL仅初始化一次
if (!AfxInitExtensionModule(ActiveKeyDLL, hInstance))
return 0;
new CDynLinkLibrary(ActiveKeyDLL);
//把DLL加入动态MFC类库中
glhInstance = hInstance;
//插入保存DLL实例句柄
}
else if (dwReason == DLL_PROCESS_DETACH)
{
TRACE0("NotePadHOOK.DLL Terminating!
");
//终止这个链接库前调用它
AfxTermExtensionModule(ActiveKeyDLL);
}
return 1;
}
(8).编译项目ActiveKey,生成ActiveKey.DLL和ActiveKey.lib。
接着,我们还需要创建一个外壳程序将全局钩子安装了Windows系统中,这个外壳
程序编写步骤如下:
(1).创建一个对话框模式的应用程序,项目名为Simulate。
(2).在主对话框中加入一个按钮,使用ClassWizard为其创建CLICK事件。
(3).将ActiveKey项目Debug目录下的ActiveKey.DLL和ActiveKey.lib拷贝到
Simulate项目目录下。
(4).从“工程”菜单中选择“设置”,弹出Project Setting对话框,选择Link标
签,在“对象/库模块”中输入ActiveKey.lib。
游戏外挂的编写原理(三)
(5).将ActiveKey项目中的ActiveKey.h头文件加入到Simulate项目中,并在
Stdafx.h中加入#includeActiveKey.h。
(6).在按钮单击事件函数输入如下代码:
void CSimulateDlg::OnButton1()
{
// TODO: Add your control notification handler code here
if( !bSetup )
{
m_hook.Start();//激活全局钩子。
}
else
{
m_hook.Stop();//撤消全局钩子。
}
bSetup = !bSetup;
}
(7).编译项目,并运行程序,单击按钮激活外挂。
(8).启动画笔程序,选择文本工具并将笔的颜色设置为红色,将鼠标放在任意位置
后,按F10键,画笔程序自动移动鼠标并写下一个红色的大写R。
创建全局钩子步骤如下:
(1).选择MFC AppWizard(DLL)创建项目ActiveKey,并选择MFC Extension DLL
(共享MFC拷贝)类型。
(2).插入新文件ActiveKey.h,在其中输入如下代码:
#ifndef _KEYDLL_H
#define _KEYDLL_H
class AFX_EXT_CLASS CKeyHook:public CObject
{
public:
CKeyHook();
~CKeyHook();
HHOOK Start(); //安装钩子
BOOL Stop(); //卸载钩子
};
#endif
(3).在ActiveKey.cpp文件中加入声明"#include ActiveKey.h"。
(4).在ActiveKey.cpp文件中加入共享数据段,代码如下:
//Shared data section
#pragma data_seg("sharedata")
HHOOK glhHook=NULL; //钩子句柄。
HINSTANCE glhInstance=NULL; //DLL实例句柄。
#pragma data_seg()
(5).在ActiveKey.def文件中设置共享数据段属性,代码如下:
SETCTIONS
shareddata READ WRITE SHARED
(6).在ActiveKey.cpp文件中加入CkeyHook类的实现代码和钩子函数代码:
//键盘钩子处理函数。
extern "C" LRESULT WINAPI KeyboardProc(int nCode,WPARAM wParam,LPARAM lParam)
{
if( nCode >= 0 )
{
if( wParam == 0x79 )//当按下F10键时,激活外挂。
{
//外挂实现代码。
CPoint newPoint,oldPoint;
GetCursorPos(&oldPoint);
newPoint.x = oldPoint.x+40;
newPoint.y = oldPoint.y+10;
SetCursorPos(newPoint.x,newPoint.y);
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//模拟按下鼠标左键。
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);//模拟放开鼠标左键。
keybd_event(VK_SHIFT,MapVirtualKey(VK_SHIFT,0),0,0); //按下SHIFT键。
keybd_event(0x52,MapVirtualKey(0x52,0),0,0);//按下R键。
keybd_event(0x52,MapVirtualKey(0x52,0),KEYEVENTF_KEYUP,0);//放开R键。
keybd_event(VK_SHIFT,MapVirtualKey(VK_SHIFT,0),KEYEVENTF_KEYUP,0);//放开SHIFT键。
SetCursorPos(oldPoint.x,oldPoint.y);
}
}
return CallNextHookEx(glhHook,nCode,wParam,lParam);
}
CKeyHook::CKeyHook(){}
CKeyHook::~CKeyHook()
{
if( glhHook )
Stop();
}
//安装全局钩子。
HHOOK CKeyHook::Start()
{ glhHook = SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,glhInstance,0);//设置键盘钩子。
return glhHook;
}
//卸载全局钩子。
BOOL CKeyHook::Stop()
{
BOOL bResult = TRUE;
if( glhHook )
bResult = UnhookWindowsHookEx(glhHook);//卸载键盘钩子。
return bResult;
}
(7).修改DllMain函数,代码如下:
extern "C" int APIENTRY
DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
//如果使用lpReserved参数则删除下面这行
UNREFERENCED_PARAMETER(lpReserved);
if (dwReason == DLL_PROCESS_ATTACH)
{
TRACE0("NOtePadHOOK.DLL Initializing!
");
//扩展DLL仅初始化一次
if (!AfxInitExtensionModule(ActiveKeyDLL, hInstance))
return 0;
new CDynLinkLibrary(ActiveKeyDLL);
//把DLL加入动态MFC类库中
glhInstance = hInstance;
//插入保存DLL实例句柄
}
else if (dwReason == DLL_PROCESS_DETACH)
{
TRACE0("NotePadHOOK.DLL Terminating!
");
//终止这个链接库前调用它
AfxTermExtensionModule(ActiveKeyDLL);
}
return 1;
}
(8).编译项目ActiveKey,生成ActiveKey.DLL和ActiveKey.lib。
接着,我们还需要创建一个外壳程序将全局钩子安装了Windows系统中,这个外壳
程序编写步骤如下:
(1).创建一个对话框模式的应用程序,项目名为Simulate。
(2).在主对话框中加入一个按钮,使用ClassWizard为其创建CLICK事件。
(3).将ActiveKey项目Debug目录下的ActiveKey.DLL和ActiveKey.lib拷贝到
Simulate项目目录下。
(4).从“工程”菜单中选择“设置”,弹出Project Setting对话框,选择Link标
签,在“对象/库模块”中输入ActiveKey.lib。
游戏外挂的编写原理(三)
(5).将ActiveKey项目中的ActiveKey.h头文件加入到Simulate项目中,并在
Stdafx.h中加入#includeActiveKey.h。
(6).在按钮单击事件函数输入如下代码:
void CSimulateDlg::OnButton1()
{
// TODO: Add your control notification handler code here
if( !bSetup )
{
m_hook.Start();//激活全局钩子。
}
else
{
m_hook.Stop();//撤消全局钩子。
}
bSetup = !bSetup;
}
(7).编译项目,并运行程序,单击按钮激活外挂。
(8).启动画笔程序,选择文本工具并将笔的颜色设置为红色,将鼠标放在任意位置
后,按F10键,画笔程序自动移动鼠标并写下一个红色的大写R。
全部回答
- 1楼网友:我住北渡口
- 2021-11-21 15:58
你也玩QQ堂? 交个朋友一块玩啊
- 2楼网友:大漠
- 2021-11-21 14:32
只要你想学。百度是一个很好的老师。加油我在这里简单说一下VB做挂。最开始肯定要有VB基础了第一步。你要了解AIP函数第二步。你要学习汇编知识第三步。你要学会OD的运用与寻找CALL,最好学学破解吧!有了着一些基础,做挂就变简单很多。但是有些游戏比较严格。这样的话。你就要学习更多的东西,如:过游戏保护等等。这些东西学起来都是比较困难要有恒心。本人我很垃圾,只是看上面的人有点不顺眼。(想得真美,你还早!)和(挂不是什么人都可以制作的...必须是既有先天的资质)只要坚持自己的梦想。你一定可以成功!加油
- 3楼网友:不如潦草
- 2021-11-21 14:21
做游戏外挂不需要用VB,还有一款比VB更简单的"按键精灵"网上有下,官网上教程,脚本一应俱全,淘宝上卖的游戏外挂脚本百分之八十都是"按键精灵"编的!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯