当前位置: 首页> 汽车> 报价 > b站2023年免费入口下载官网_江西省赣州市事业单位招聘信息_百度竞价投放_安卓手机性能优化软件

b站2023年免费入口下载官网_江西省赣州市事业单位招聘信息_百度竞价投放_安卓手机性能优化软件

时间:2025/7/11 18:00:43来源:https://blog.csdn.net/q13407441836/article/details/144565402 浏览次数: 0次
b站2023年免费入口下载官网_江西省赣州市事业单位招聘信息_百度竞价投放_安卓手机性能优化软件

简言:

上一章我们说了获取应用进程的某数据(data),这一章我们就说说修改内存地址的数据。想要修改内存,那么就需要我们另一个WinAPI函数:WriteProcessMemory()函数。

WriteProcessMemory()函数 

函数原型:

BOOL WriteProcessMemory(HANDLE hProcess,        // 目标进程的句柄LPVOID lpBaseAddress,   // 目标内存地址的起始位置LPCVOID lpBuffer,       // 包含要写入的数据的缓冲区SIZE_T nSize,           // 要写入的字节数SIZE_T *lpNumberOfBytesWritten  // 写入的字节数
);

参数说明:

  • hProcess:
    这是目标进程的句柄,表示要写入的进程。你需要以 PROCESS_VM_WRITEPROCESS_VM_OPERATION 权限打开目标进程,以便执行写操作。可以通过 OpenProcess 函数获取进程句柄。

  • lpBaseAddress:
    这是目标进程中你想要写入的内存地址。该地址必须是该进程的有效内存区域。如果地址无效或不可写入,会导致失败。通常会是16进制,我们需要在地址前加0x,如果还报错,说明可能是没有成功将数据类型转换为LPCVOID,我们就需要强制转换,例如:(LPCVOID)0x地址

  • lpBuffer:
    指向包含要写入数据的缓冲区的指针。数据将从该缓冲区复制到目标进程的内存地址中。也就是你要写入的新数据,通常我可以在函数的上方定义一个数,然后在函数中使用。

  • nSize:
    要写入的字节数。这是你要从 lpBuffer 中复制到目标进程内存的字节数。比如int类型,它是4字节。就填4

  • lpNumberOfBytesWritten:
    可选参数。如果不为 NULL,它会接收实际写入的字节数。如果该参数为 NULL,你不需要关心写入的字节数。直接NULL

返回值

  • 如果函数成功,返回 非零 值。
  • 如果函数失败,返回 。你可以使用 GetLastError 获取更多的错误信息。

代码实例:

如上次一样打开ce和应用(植物大战僵尸),找到要改的地址(我这里修改的是阳光)。

流程:窗口句柄(FindWindowA)-->窗口PID(GetWindowThreadProcessId)-->进程句柄(Open Process)-->读取数据/改写数据(ReadProcessMemory/WriteProcessMemory)。

CE/游戏:

代码:

int main()
{HWND hWnd = FindWindowA(NULL,"植物大战僵尸汉化版");DWORD processID = NULL;GetWindowThreadProcessId(hWnd,&processID);HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processID);int Buffer = 0;ReadProcessMemory(hProcess,(LPCVOID)0x16CE01B8, &Buffer, 4, NULL);printf("原来的data=%d\n", Buffer);int NewBuffer = 8888;WriteProcessMemory(hProcess, (LPCVOID)0x16C387A8,&NewBuffer,4,NULL);printf("修改后的data=%d\n",NewBuffer);getchar();return 1;
}

运行结果:

 

 

关键字:b站2023年免费入口下载官网_江西省赣州市事业单位招聘信息_百度竞价投放_安卓手机性能优化软件

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: