Re: [問題]關於遊戲中動態記憶體的修改?

看板Programming作者時間18年前 (2006/08/30 14:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
先找出一個固 定位址 再做動態位置的位移計算 ※ 引述《sealoe@kkcity.com.tw ( )》之銘言: : 做這行就是要玩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
文章代碼(AID): #14zJ4800 (Programming)
文章代碼(AID): #14zJ4800 (Programming)