請問記憶體的值,該如何去監控呢? |
答題得分者是:wameng
|
lcc1299
一般會員 ![]() ![]() 發表:39 回覆:42 積分:21 註冊:2004-09-12 發送簡訊給我 |
請問各位大大,我要如何利用delphi去監控記憶體某一位置的值呢?我假設一下好了,因為我也不確定:(1)記憶體位置3434BB14(我也不確定位置是不是長這樣),這個位置目前的值是1B,那我該如何利用delphi去監控他呢?這記憶體位置的值改變了,我如何得知呢?(2)再請問一下,每套應用程式開啟時,他載到記憶體的位置是不是每次放的地方都不一樣呢?但如果不一樣,為什麼有些單機的game他的血(假設是血)的記憶體位置怎麼每次載入時,都是存在同一個位置呢(因該是會變,但是真的很少改變他存放的位置,跟應用程式開啟時順序有關嗎?)?(3)delphi提供的工具有直接切換到記憶體頁面去查看的工具嗎?(4)可以提供有類似這種主題的文章嗎?謝謝了^___^"!
|
wameng
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
lcc1299
一般會員 ![]() ![]() 發表:39 回覆:42 積分:21 註冊:2004-09-12 發送簡訊給我 |
不好意思再請問一下,我執行後所得到的結果如下:
Process ID 000009BC
File name WinRAR.exe
Process Handle 00000000
WinRAR.exe
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
......以下都一直是00 00 00.....找不到非00的,是不是剛好我指定的區段都是00呢?還有Process Handle 00000000,這裡是代表什麼呢?要查找的位置嗎?還是要查找的位置是裡面迴圈這段呢?
for i:=$00800001 to $0080105f do begin
ReadProcessMemory(ProcessHndle,Pointer (i),lpBuffer,nSize,lpNumberOfBytesRead );end; 如果我想要用dos的debug來查看以上區段,我該怎麼載入winrar.exe呢?我試過用delug L winrar.exe(路徑),但載不進去~有什麼方法呢?還是可以介紹一下有什麼程式可以方便觀看某一程式某一區段目前記憶體位置的值的呢?~謝謝了^__^"! |
wameng
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |