植物大战僵尸辅助C/C++版
刚学完C语言基础语法,结合windows API 详解一书 另外 易语言做过一次 就用C语言写了个控制台版本 进程名取进程ID 内存读写操作 免冷却,加金币,加阳光…懒得用CE找了,就只整了这些.
#include <stdio.h> #include <stdlib.h> #include <windows.h> #include <TlHelp32.h> HANDLE hProcess = 0; DWORD Process_ID; void NotCool(); DWORD GetPrcsIDbyName(LPCWSTR PrcsName); DWORD Add_Func(DWORD BaseAdd,DWORD EA1,DWORD EA2,DWORD Num); int main(void) { HWND hGame = FindWindow(NULL,L"植物大战僵尸中文版"); system("title 植物大战僵尸辅助V1.0"); system("mode con cols=40 lines=20"); //printf("游戏进程ID: %d ", GetPrcsIDbyName(L"PlantsVsZombies.exe")); if (hGame <= 0) { printf("未检测到游戏运行,请先运行游戏. "); exit(0); }else { GetWindowThreadProcessId(hGame,&Process_ID); hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,Process_ID); NotCool(); if(Add_Func(0x006AA00C,0x768,0x5560,88888)) { printf("阳光充值----------> 成功 "); }else{printf("阳光充值----------> 失败 ");} if(Add_Func(0x006A9EC0,0x82c,0x28,888888)) { printf("金币充值----------> 成功 "); }else{printf("金币充值----------> 失败 ");} } CloseHandle(hProcess); system("pause"); return 0; } void NotCool() { DWORD FLoNum = 0x1477; if (WriteProcessMemory(hProcess,(LPVOID)0x00487296,&FLoNum,2,NULL)) { printf("废掉冷却----------> 成功 "); }else{printf("废掉冷却----------> 失败 ");} } DWORD Add_Func(DWORD BaseAdd,DWORD EA1,DWORD EA2,DWORD Num) { DWORD TmpAdd=0; ReadProcessMemory(hProcess,(LPVOID)BaseAdd,&TmpAdd,4,NULL);//基址 BaseAdd=TmpAdd; ReadProcessMemory(hProcess,(LPVOID)(TmpAdd+EA1),&TmpAdd,4,NULL);//偏移1 EA1=TmpAdd; ReadProcessMemory(hProcess,(LPVOID)(TmpAdd+EA2),&TmpAdd,4,NULL); //偏移2 EA2=EA1+EA2; if(WriteProcessMemory(hProcess,(LPVOID)(EA2),&Num,4,0)) {return 1;} else{return 0;} } DWORD GetPrcsIDbyName(LPCWSTR PrcsName) { HANDLE hSnapShot; PROCESSENTRY32 PE32; ZeroMemory(&PE32,sizeof(PE32)); PE32.dwSize=sizeof(PE32); hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); if (hSnapShot == INVALID_HANDLE_VALUE) { return 0; } if (!Process32First(hSnapShot,&PE32)) { return 0; } do { if (lstrcmpi(PE32.szExeFile,PrcsName) == 0) { CloseHandle(hSnapShot); return PE32.th32ProcessID; } } while (Process32Next(hSnapShot,&PE32)); CloseHandle(hSnapShot); return 0; }
上一篇:
IDEA上Java项目控制台中文乱码