看板Programming
标 题Re: [问题]关於游戏中动态记忆体的修改?
发信站台大电机 Maxwell BBS (Mon Aug 28 03:40:40 2006)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.ntu!bbs.ee.ntu!Maxwell
先找出一个固 定位址
再做动态位置的位移计算
※ 引述《[email protected] ( )》之铭言:
: 做这行就是要玩game(误)
: 关於静态(非变动位置)记忆体修改还算简单(范例如附件, 想用的玩家可以拿去)
: 但是, 对於动态(变动位置)记忆体 我就不知道要如何修改了
: 假设我用GM8抓到一个动态的位置 我要如写些简单的win32程式
: 去修改它呢?
: -------------附件----------------------------------
: #include<windows.h>
: int pet_skill=7;
: long pet1_addr=0x046C6504;//自己改, 我好几年前写的, 现在不适用
: long pet2_addr=0x046C6580;
: long pet3_addr=0x046C65FC;
: long pet4_addr=0x046C6678;
: long pet5_addr=0x046C66F4;
: int main(void)
: {
: printf("\n版权属:<博物馆>肥仔工程师\n");
: printf("\n宠物7技外挂\n");
: HWND hwnd;
: PDWORD phandle,sapid;
: char *SAName = "StoneAge [达那1] via FreeCap";
: hwnd = FindWindow(NULL,SAName);
: if(hwnd==0)
: hwnd = FindWindow(NULL,"StoneAge [达那1]");
: if(hwnd==0)
: printf("石器时代没有开启");
: GetWindowThreadProcessId(hwnd,&sapid);
: phandle=OpenProcess(PROCESS_ALL_ACCESS,FALSE,sapid);
: //pet skill
: WriteProcessMemory(phandle,pet1_addr,&pet_skill,2,NULL);
: WriteProcessMemory(phandle,pet2_addr,&pet_skill,2,NULL);
: WriteProcessMemory(phandle,pet3_addr,&pet_skill,2,NULL);
: WriteProcessMemory(phandle,pet4_addr,&pet_skill,2,NULL);
: WriteProcessMemory(phandle,pet5_addr,&pet_skill,2,NULL);
: CloseHandle(phandle);
: }
--
※ Origin: 台大电机 Maxwell 站 ◆ From: www.transtage.idv.tw