作者tropical72 (藍影)
看板C_and_CPP
標題[問題] ReadProcessMemory
時間Sun Dec 26 07:30:12 2010
開發平台(Platform): (Ex: VC++, Gcc, Linux, ...)
vs2008 + xp
額外使用到的庫(Library Used) (Ex: OpenGL, ...)
psapi.h , tlhelp32.h
問題(Question):
記得之前版友有做過類似的事,不過我爬了之後又找不到,
目前我先以 tlhelp32.h 裡面的東西去做 enum process 動作
再來調用 Toolhelp32ReadProcessMemory 不過一直失敗
程式碼(Code): (請善用置底文標色功能)
DWORD PID = 1894;
DWORD dwReaded;
DWORD base = 0x04d2;
BYTE byData[100];
BOOL ret = Toolhelp32ReadProcessMemory(PID, (LPCVOID)base,
(LPVOID)byData, 100, &dwReaded);
// GetLastError() = 299
補充說明(Supplement):
目前測試方式是寫一 Test.exe
內容如下
#include <stdio.h>
#include <stdlib.h>
int main(){
int a = 1234;
printf("%d %p\n", a, a);
system("pause"); // 先等著被改 memory value
printf("%d %p\n", a, a); // 改完後再看 memory value
}
查了一堆資料,目前覺得最有用的應該是這篇
http://www.codeproject.com/KB/threads/Thelp32ReadProcessMemory.aspx
好笑的是用它的去查我的 test.exe ,顯示是 no heap
請問各位版友能否給些意見?感激不盡 !!
--
YouLoveMe() ? LetItBe() : LetMeFree();
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.177.76.142
※ 編輯: tropical72 來自: 180.177.76.142 (12/26 07:44)
→ stupid0319:是Read還是Write傻傻分不清>"< 12/26 09:51
→ tropical72:應說先做Read,成功後再Write,但現在Read都有問題了 XD 12/26 10:13
→ stupid0319:PID的取得正確嗎?背景有神盾之類的東西嗎? 12/26 10:48
→ tropical72:防毒都關了,沒神盾之類的,有覺用OpenProcess,確定正常 12/26 17:14
→ james732:我之前寫過的在#1CjV0jXV 不過簡化了很多問題 XDDD 12/26 17:29
→ tropical72:感謝回覆,就是在找這篇!謝謝 12/26 19:29