Win32下讀取其他程式的記憶體

看板Programming作者 (眠月)時間18年前 (2006/11/22 01:08), 編輯推噓4(403)
留言7則, 3人參與, 最新討論串1/1
如果我想要取得某個程式的記憶體內容,要怎麼作? 1. 使用 FindWindow ( 視窗標題 ) 取得 window handle 2. 利用 GetWindowThreadProcessID ( windows handle ) 取得該視窗的 process ID 3. 使用 OpenProcess ( process ID ) 取得其他程式的 process handle 4. 使用 ReadProcessMemory ( process handle ) 讀取其他程式的記憶體 想要寫入的話也可以使用 WriteProcessMemory () 讀取或寫入完成以後 5. 請用 CloseHandle ( process handle ) 關閉 handle 以避免資源遺漏 函數與參數的細節說明請自行參照 MSDN -- To iterate is human, to recurse is divine. 遞迴只應天上有, 凡人該當用迴圈.   L. Peter Deutsch -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.31.169.164

11/22 01:19, , 1F
不過就算 administrator 也不能直接讀寫
11/22 01:19, 1F

11/22 01:21, , 2F
某些 process, 還必須先 adjust process
11/22 01:21, 2F

11/22 01:21, , 3F
token 才行,例如提昇至 debug privilege
11/22 01:21, 3F

11/22 10:01, , 4F
感謝補充
11/22 10:01, 4F

11/22 15:31, , 5F
問問~ 所以GameMaster或其他類似的程式
11/22 15:31, 5F

11/22 15:32, , 6F
就是用這種方法達成的嗎 .__.? 感謝~
11/22 15:32, 6F

11/23 02:05, , 7F
應該是 @"@ 我也不知道還有沒有其他方法
11/23 02:05, 7F
文章代碼(AID): #15Op9tr1 (Programming)
文章代碼(AID): #15Op9tr1 (Programming)