首页文章(小游戏!)简易游戏修改!!!新手看过来!手机h游戏「(小游戏!)简易游戏修改!!!新手看过来!」

(小游戏!)简易游戏修改!!!新手看过来!手机h游戏「(小游戏!)简易游戏修改!!!新手看过来!」

时间2025-01-16 15:13:33发布yu分类文章浏览125
导读:那么首先我们来了解下我们要修改的游戏数值,到底是在修改什么? 修改游戏中显示的数据就是要修改游戏所在进程的内存 进程的地址空间是相互隔离的所以我们要用到API函数 接下来给大家介绍几个函数 1.ReadProcese...

那么首先我们来了解下我们要修改的游戏数值,到底是在修改什么?
修改游戏中显示的数据就是要修改游戏所在进程的内存


进程的地址空间是相互隔离的所以我们要用到API函数

接下来给大家介绍几个函数
1.ReadProcesemory
函数功能:该函数从指定的进程中读入内存信息,被读取的区域必须具有访问权限。
函数原型:BOOL ReadProcesemory(HANDLE hProcess,LPCVOID lpBaseAddress,LPVOID lpBuffer,DWORD nSize,LPDWORD lpNumberOfBytesRead);
參数:
hProcess:进程句柄
lpBaseAddress:读出数据的地址
lpBuffer:存放读取数据的地址
nSize:读出的数据大小
lpNumberOfBytesRead:数据的实际大小

可能有点多,要好好的看一看我刚开始看书的时候也很懵哈哈哈哈
仔细看完之后相信你没问题的!

2.WriteProcesemory
BOOL WriteProcesemory(
  HANDLE hProcess, 进程句柄
  LPVOID lpBaseAddress,要写的内存首地址
  LPVOID lpBuffer,数据当前存放地址
  DWORD nSize,写入数据的大小
  LPDWORD lpNumberOfBytesWritten实际数据的大小
  );

接下来如果我们自己有CE 的话就可以找出地址,利用ReadProcesemory函数和WriteProcesemory函数来修改内存空间了
但是!我们不用!接下来才是我们的主要代码,如果你对进程,和线程以前有过了解(没准儿比我好哈哈哈)那么就更容易理解下面写的东西,如过没了解过呢,也没关系!谁还不是从头开始呢!

在这里给大家放几张图来看一下
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201217122319938

自己原来写的飞机大战小游戏 有很多能改动的地方,大家可以去看看 传送门
大家可以看到这里是17得分,那么我们就来搜索
在这里插入图片描述
可以看到这里有非常多的地址,所以我们改变得分来筛选,这个查找的过程是有点慢的 需要等一会
在这里插入图片描述
这就是我们修改之后的得分了,如果你的电脑上有360的话它会阻止你操作的,不用担心,允许就好了。

运行图看完了咱们就要写代码了

 

这是我们的头文件千万不要忘记!

 

这里大体都和书上的一样,,我开始也不习惯这么命名,但总要有个规范不是。咱们继续
咱们是在一页上查找,如果不清楚页,大家可以去搜一下windows的分页机制,看一下一页是多大(4KB)。

 

在页中查找就完成了,接下来我们就来写搜索函数了(Find)

 

DWORD dwbase; 查看系统的函数,
OSVERSIONINFO vi = { sizeof(vi) };
::GetVersionEx(&vi); 这个函数在vs上编译可能会警告,但是能运行,应该是太老了,弃用了
if (vi.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS)
dwbase = 4 * 1024 * 1024;
else
dwbase = 640 * 1024;

这只是我们的第一个查找函数,要明白我们这个查找函数是来干嘛的,我们这个第一个find只是用来查找有效地址!关于有效地址我在开始已经声明了,所以我们接下来就要在有效的地址中去查找,然后来进行修改

 

如果你看懂了前面,逻辑其实很简单,就是函数里的变量比较多,多看就好理解了。

 

关于此函数就是输出格式需要自己注意一下;
最后就是我们的主函数了

char FileName[] = “G:编程飞机huhuhuDebug飞机huhuhu.exe”; 这里你要改你自己游戏的绝对路径
STARTUPINFO si = { sizeof(si) };
PROCESS_INFORMATION pi;
::CreateProcess(NULL,FileName, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi);
//关闭线程句柄
::CloseHandle(pi.hThread);
g_hprocess = pi.hProcess;

 

剩下的就没什么了。

 
 

学渣一枚,迷茫过,堕落过,所以还请大家加油啊!
我们要去更远的未来呢!
加油!少年!
最后附上源码 https://pan.baidu.com/s/1U9ZRYdedvpVJFGw1NOE_hw
提取码 xlad
也可以关注我后续的文章哦!

德清版权声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com

展开全文READ MORE
看过来游戏小游戏简易新手
超声波指纹+超感光相机!小米5S深入评测小米手机4s「超声波指纹+超感光相机!小米5S深入评测」 重庆公交卡怎么在手机上使用?重庆坐公交车怎么用手机付款?重庆手机「重庆公交卡怎么在手机上使用?重庆坐公交车怎么用手机付款?」