[問題] 如何知道程式所使用記憶體位址的起迄範圍?
本來目的是想試做一個類似遊戲修改程式中搜尋修改記憶體的程式
不過對我來說還太早了點
所以想說先試試比較基本的功能,對特定的程式
只要給個資料就能搜尋出含有該資料的記憶體位址有哪些
對已知小範圍的搜尋我已經了解
如果範圍很大應該有比較有效率的演算法去搜尋吧?
(演算法的事以後再考慮好了
或是有大大可以先提供個方向
我再自己去找書來看看研究)
但不知隨便指定的程式,要從哪開始搜尋?
假設有一個程式運行中
要如何得知該程式使用了哪段記憶體
以節位址:節內位址的方式表示
像是從 0012EF00 到 3B1252BA (隨便舉的例子)
還是只能得到絕對位址,要自己想辦法解成分節位址?
能知道精確的範圍嗎?
還是只能得到大概的範圍?
有個想法不知對不對,是不是用FindWindows找到的視窗的位址就是該程式的起始位置?
但我用FindWindows找特定視窗後
存在EAX裡面都只有5位(例 : eax = a03df)
這是巧合嗎?還是FindWindows只能記錄絕對位址?
如果該程式沒有視窗,是在背後運行,那有辦法查嗎?
目前看了2、3本有關組語的書,在這方面介紹都沒很多
實在不知該從何著手
不知這類的知識有沒有推薦的書可以查閱?
謝謝^ ^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.90.242
推
07/03 04:25, , 1F
07/03 04:25, 1F
推
07/03 04:40, , 2F
07/03 04:40, 2F
推
07/03 23:05, , 3F
07/03 23:05, 3F
→
07/04 01:43, , 4F
07/04 01:43, 4F
→
07/04 01:44, , 5F
07/04 01:44, 5F
ASM 近期熱門文章
PTT數位生活區 即時熱門文章