[問題]請教有關編撰遊戲修改器

看板C_and_CPP作者 (‵皿′)時間15年前 (2009/03/31 23:22), 編輯推噓7(7027)
留言34則, 7人參與, 最新討論串1/2 (看更多)
我想寫個遊戲修改器 , 已找出要修改的記憶體位址 , 但卻不知道要如何撰寫程式 於是在網路上詢問相關資訊 , 在某論壇上一位高手給了我一些代碼 但我不太明白這運作的方式 , 有人告訴我這是個外掛 不用加掛code到遊戲內 , 而是獨立運行 , 可否請高手幫忙 , 依照他給我的代碼 該如何去編譯程式 ? 請指教 , 謝謝 ! ============================================================================== ============================================================================== 我已經大概知道編程 , 但是卻無法修改遊戲中的數值 , 請高手指正我哪邊錯誤了 ? 謝 謝 ! 程式可以運行 , 我在輸入 address 有加上16進位的 0x , value 這是修改直接要得值 ? 開啟時會叫出client.exe , client.exe會顯示 0x440004= 7474 代碼是外國高手幫忙的 , 我不知到哪邊錯誤 , 請版上高手幫幫忙 謝謝 ~ 遊戲暫存器: 03740268 必須要先到球員編輯區 , 輸入暫存器位址 , 才有辦法更改 此為GM8和FPE修改法 這支程式卻讀不到內部的位址 , 不知到哪邊有錯誤 ? ==================================== 首先 run MemoryEdit.exe 佢會 CreateProcess and run Client.exe Client.exe 會 不斷 咁 print 會 int 既 address and value 之後 MemoryEdit.exe 會要你 input 個 address 你要 edit 既 個 address 可以 抄返 Client.exe Show 出 o黎 既 e.g. 010E9008 就 input 0x010E9008 <= 0x 開頭 hex 之後 要你 input 個 value e.g. input 8888 之後 等 5 秒 check 返 Client.exe 佢個 value 會 唔同左 ===================================== Client.exe http://rafb.net/p/2kHbU711.html MemoryEdit.exe http://rafb.net/p/98P5I788.html ============================================================================== -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.170.234.241 ※ 編輯: andy79323 來自: 218.170.234.241 (03/31 23:46) ※ 編輯: andy79323 來自: 218.170.234.241 (03/31 23:47)

04/01 00:05, , 1F
.... 取得一個使用windows os的c++ ide然後開專案編譯
04/01 00:05, 1F

04/01 00:10, , 2F
無奈我使用VC++ 2005 , DEV C++ 4.9.9.2都無法順利編譯
04/01 00:10, 2F

04/01 00:10, , 3F
XP
04/01 00:10, 3F

04/01 00:17, , 4F
錯誤訊息?
04/01 00:17, 4F

04/01 00:18, , 5F
pi 跟π ? 這個π的嫌疑真大
04/01 00:18, 5F

04/01 00:21, , 6F
在微風發表了一篇,裡面有附上錯誤訊息,請幫忙,謝謝!
04/01 00:21, 6F

04/01 00:23, , 7F
你何不把錯誤訊息在這說出來呢? 並非每個人都逛微風
04/01 00:23, 7F

04/01 00:24, , 8F

04/01 00:25, , 9F
不好意思,我會在修改一下本文
04/01 00:25, 9F
※ 編輯: andy79323 來自: 218.170.234.241 (04/01 00:26)

04/01 00:28, , 10F
複製到了奇怪的字元?
04/01 00:28, 10F

04/01 00:34, , 11F
請問哪邊複製出錯? 請指正 , 謝謝 !
04/01 00:34, 11F

04/01 00:35, , 12F
你可以嘗試把錯誤訊息 (line 17)那部份點兩下看看他跳到哪
04/01 00:35, 12F
====================================================== 按下跑到這段 ::CreateProcess(NULL, szFileName, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &si, π); ======================================================

04/01 00:35, , 13F
有可能確實就是那詭異的`π`
04/01 00:35, 13F

04/01 00:36, , 14F
如果你要printf 要#include <stdio.h>
04/01 00:36, 14F
※ 編輯: andy79323 來自: 218.170.234.241 (04/01 00:39)

04/01 00:43, , 15F
你要不要嘗試把那個π改成pi 剛剛已經說過很多次了
04/01 00:43, 15F

04/01 00:46, , 16F
已更改 , 但還是如此
04/01 00:46, 16F

04/01 00:49, , 17F
Process改hProcess,Thread改pThread,π改&pi
04/01 00:49, 17F

04/01 00:50, , 18F
^ hThread
04/01 00:50, 18F
====================================================== 以下為修改過的 , 請幫指正哪邊有改錯 , 謝謝 ! #include <windows.h> // add the windows.h HANDLE g_hProcess; DWORD g_arList; // Fill the address you want int iVal; // Fill the value you want BOOL WriteMemory(DWORD dwAddr, DWORD dwValue) { return ::WriteProcessMemory(g_hProcess, (LPVOID)dwAddr, &dwValue, sizeof(DWORD), NULL); } int main() { char szFileName[] = "target.exe"; STARTUPINFO si = {sizeof(si)}; hPROCESS_INFORMATION pi; ::CreateProcess(NULL, szFileName, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi); ::CloseHandle(pi.hThread); g_hProcess = pi.hProcess; if(WriteMemory(g_arList, iVal)) printf("Write data Sucess!\n"); ::CloseHandle(g_hProcess); return 0; } ========================================= ※ 編輯: andy79323 來自: 218.170.234.241 (04/01 01:00)

04/01 01:01, , 19F
#include <stdio.h>
04/01 01:01, 19F

04/01 01:01, , 20F
我想你很需要重頭學起程式 另外還有一個可參考的說明書
04/01 01:01, 20F

04/01 01:03, , 21F
最後唯一需要改的是g_arList要給予你想寫入的位址
04/01 01:03, 21F

04/01 01:15, , 22F
很謝謝您的幫忙 , 只接觸過簡單的指令 , 這方面還不太懂
04/01 01:15, 22F

04/01 01:16, , 23F
雖然這不能當作理由,但沒有個起始點,要學起不易..
04/01 01:16, 23F

04/01 01:17, , 24F
另外,雖然都依照您所講更改,但似乎還是無法成功編譯..
04/01 01:17, 24F

04/01 01:21, , 25F
我已經成功編譯了...
04/01 01:21, 25F

04/01 01:23, , 26F

04/01 01:35, , 27F
有些地方我改錯了...
04/01 01:35, 27F

04/01 01:37, , 28F
有勞您費盡心力指正 , 在下深感抱歉 , 謝謝您的幫忙
04/01 01:37, 28F

04/01 03:53, , 29F
π實在太酷了 XD
04/01 03:53, 29F

04/01 03:56, , 30F
Lv1 就要單挑 final boss 啦 XD 選這個題目當練習
04/01 03:56, 30F

04/01 03:56, , 31F
很好!很有志氣!
04/01 03:56, 31F

04/01 09:16, , 32F
推樓上, LV1就要挑Final BOSS....Orz
04/01 09:16, 32F

04/01 10:04, , 33F
LV1就跑去有swamp drake出沒的乾河谷 XD
04/01 10:04, 33F

04/01 11:40, , 34F
樓上您的例子好複雜....XD
04/01 11:40, 34F
※ 編輯: andy79323 來自: 218.170.219.70 (04/02 10:50)
文章代碼(AID): #19qZKiY3 (C_and_CPP)
文章代碼(AID): #19qZKiY3 (C_and_CPP)