启动VC++6.0,创建一个项目,就和你上机时候一样

启动VC++6.0,创建一个项目,就和你上机时候一样

C语言C++学习交流群496926338

当然是先输入头文件。 我们不会详细介绍 stdio.h。 每个人都知道。 现在我们要输入书中没有的第二个。

#包括

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

好了,接下来就是主要功能了。 这个不用解释大家都明白。 那么我们当然要解释一下插件了。

Prinf函数也是书本上常用的知识。 指令像这样输入到屏幕上。

在这里,就拿前天我在论坛上推荐的游戏来说吧。 原因是我玩了很久都打不过,气死我了。

所以,我的指令是这样的,代码如下:

C语言C++学习交流群496926338

C语言C++学习交流群496926338

我认为我有必要解释一下句柄(HWND)和PID是什么。 我们可以把它们理解为我们现实中的学生证、身份证。 两者都可以证明您的身份。 功能是一样的,只是名称不同,而且你的身份证和学生证是唯一的,也就是说没有人的身份证或学生证和你的一模一样。 计算机中的程序也是如此。 每个程序都会有它的身份证明硬件设备,也是唯一的东西,为什么我们需要这两个东西呢? 想一想,我们要修改的是《双星物语2》这个游戏游戏评测,而不是《暗黑破坏神3》。当然c语言制作游戏,我们必须通过这两件事来确认我们要修改的程序。

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

C语言C++学习交流群496926338

C语言C++学习交流群496926338

C语言C++学习交流群496926338

继续写代码。 获取到PID之后,我们就要打开进程,问一下为什么要打开进程。 这就像抢劫银行一样。 如果你不先打开银行的门,你怎么能进去抢劫(银行金库没有窗户,不要钻空子)。 开启流程,使用OpenProcess函数,第一个参数表示获得完全权限(即抢劫银行时,可以抢劫钞票和金条。没有权限,就相当于银行工作人员宁死不屈,不能抢劫任何东西。部分权限意味着只能抢劫钞票(class),第二个参数是之前提到的Pid。 如果成功,hProcess不会等于0(相当于打开银行门),如果不成功,就会等于0(抢劫银行会失败)

C语言C++学习交流群496926338

C语言C++学习交流群496926338

或者百度作弊引擎c语言制作游戏,我的是5.6.1版本

C语言C++学习交流群496926338

C语言C++学习交流群496926338

C语言C++学习交流群496926338

C语言C++学习交流群496926338

C语言C++学习交流群496926338

C语言C++学习交流群496926338

C语言C++学习交流群496926338

C语言C++学习交流群496926338

C语言C++学习交流群496926338

C语言C++学习交流群496926338

C语言C++学习交流群496926338

最后贴出完整的代码。 如果实在看不懂,直接复制粘贴即可。 改几个地方就适用于其他游戏(当然也不是全部都可以,大部分单机游戏都可以,但只有部分网络游戏可以)。

#包括

#包括

无效主(无效)

字符命令; HWND hWnd;

双字PID; 处理 hProcess=0; 同时(1)

printf("———————————双星物语2游戏插件—————————\n”);

printf("打开插件O并修改金钱M \n");

printf("修改健康卷H并退出插件E\n");

printf("——————————————————————————————\n”);

命令=getchar();

getchar();

if (命令=='E'||命令=='e')

休息;

别的

if (命令=='O'||命令=='o')

hWnd=FindWindow(NULL,"双星物语2");

if (hWnd!=0)

GetWindowThreadProcessId(hWnd,&Pid);

hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,Pid);

如果(h进程==0)

printf("\n打开游戏进程失败\n");

别的

printf("\n游戏进程成功开启\n");

if (命令=='M'||命令=='m')

如果(h进程==0)

printf("\n请先打开插件\n");

别的

DWORD 金钱; 双字地址=0x005b85b0;

printf("\n你想要多少钱?:");

scanf("%ld",&Money); DWORD res=WriteProcessMemory(hProcess,(LPVOID)Addr,&Money,4,0);

如果(res==0)

printf("\n修改失败\n");

别的

printf("\n修改成功\n");

if (命令=='H'||命令=='h')

如果(h进程==0)

printf("\n请先打开插件\n");

别的

双字 HP; 双字地址=0x005b85cc;

printf("\n你想要多少血?:");

scanf("%ld",&HP); DWORD res=WriteProcessMemory(hProcess,(LPVOID)Addr,&HP,4,0);

如果(res==0)

printf("\n修改失败\n");

别的

printf("\n修改成功\n");

返回;

文章来源:https://www.toutiao.com/article/6399485431691346433/?wid=1691215657521