内存读写

第一个用C写的一个游戏辅助,一个简单的内存读写操作,搞了两个多小时,不愧是易语言,用易语言几句代码就解决了,百度,看例程,总算搞完了

#include<stdio.h>
#include<windows.h>
int main(){
HWND jubing; //窗口句柄 
DWORD pid; // 进程 
HANDLE hProcess;
DWORD Buffer = 0;
DWORD sun = 0;
jubing=FindWindowA(NULL,"植物大战僵尸中文版");
if (jubing==0){
	printf("请先打开游戏\n");
	system("pause");
}
else{
	printf("游戏已经运行,窗口句柄为:%d\n",jubing);
	GetWindowThreadProcessId(jubing,&pid);
        hProcess=OpenProcess(PROCESS_ALL_ACCESS,0,pid);
        ReadProcessMemory(hProcess, (LPVOID)(0x6a9ec0), &Buffer, 4, NULL); //读取地址
        ReadProcessMemory(hProcess, (LPVOID)(Buffer + (0x768)), &Buffer, 4, NULL); //one pianyi
        ReadProcessMemory(hProcess, (LPVOID)(Buffer + (0x5560)), &Buffer, 4, NULL);//two pianyi 直接读取
        printf("当前阳光:%d\n",Buffer);
     while(1){
         printf("输入你要修改的阳光:");

         scanf("%d",&sun);
         ReadProcessMemory(hProcess, (LPVOID)(0x6a9ec0), &Buffer, 4, NULL); //读取地址
         ReadProcessMemory(hProcess, (LPVOID)(Buffer + (0x768)), &Buffer, 4, NULL); //one pianyi
         WriteProcessMemory(hProcess, (LPVOID)(Buffer + (0x5560)), &sun, 4, NULL);//写
         printf("修改成功\n");
     }

}
system("pause");
return 0;
}

总结:应该仔细学习指针,指针,指针,还有基本的C语言语法。

代码不理解的部分就是回去句柄,窗口什么的,而且变量“jubing”命名有误,请参照https://baike.sogou.com/m/v8011835.htm?null 进行修改。