作者yoco315 (眠月)
站内Programming
标题Win32下读取其他程式的记忆体
时间Wed Nov 22 01:16:21 2006
如果我想要取得某个程式的记忆体内容,要怎麽作?
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
1F:推 UNARYvvv:不过就算 administrator 也不能直接读写 61.228.208.88 11/22 01:19
2F:→ UNARYvvv:某些 process, 还必须先 adjust process 61.228.208.88 11/22 01:21
3F:→ UNARYvvv:token 才行,例如提昇至 debug privilege 61.228.208.88 11/22 01:21
4F:推 yoco315:感谢补充 140.114.78.32 11/22 10:01
5F:推 cole945:问问~ 所以GameMaster或其他类似的程式 220.139.178.30 11/22 15:31
6F:→ cole945:就是用这种方法达成的吗 .__.? 感谢~ 220.139.178.30 11/22 15:32
7F:推 yoco315:应该是 @"@ 我也不知道还有没有其他方法 61.31.172.233 11/23 02:05