Re: [請益] 記憶體管理

看板Soft_Job (軟體人)作者時間13年前 (2012/12/19 06:29), 編輯推噓1(108)
留言9則, 1人參與, 最新討論串4/4 (看更多)
: 推 jodo1984:請問您是說程式一開始執行所佔的記憶體位紙嗎? 12/15 01:03 : 推 jodo1984:http://ppt.cc/gen.php 小算盤每次的位址都不同 12/16 23:19 : → jodo1984:一開始我用虛擬記憶體的基底位址去推算 12/16 23:20 : → jodo1984:但是我發覺這是不可行的(可能我用的方法不對) 12/16 23:20 : → jodo1984:所以我才想問看看有沒有什麼方法可以讀實際記憶體位址 12/16 23:21 : → jodo1984:補網址 http://ppt.cc/QiI_ 12/16 23:22 剛再細看了一下,由你所提供的圖片,發現了您有更大的問題存在 1.形態問題 先反過來想,如果你要寫一個小算盤,那麼顯示最終運算結果的欄位(圖中22) 你會用什麼形態來存放呢?? int ? long ? Single ? Double? string ? 最不可能的是用byte太短了,但你卻又用CE搜索 byte 2.CE裡面顯示找到結果是779個,搜索目標為:22 一樣反過來想,如果是由您來寫小算盤,您會在運算過程中將幾個變數寫入22 ? 想必不會超過十個吧,你必需不斷的去變化"22",並使用CE->再次掃描,新的數值 ,重覆變化這個動作,直到CE的結果不再減少,剩下來的才是可能的對映這次小算盤中 運算結果欄位,所在的位址,依經驗最終結果應該不會超過十個才對 找到了 "本次" 小算盤存放 22 正確的記憶體位址後,您才有可能進入到下一步 如上篇文章中所提的,再反向去找到一個即使不同電腦每次運作 都為相同位置的[基址] -- ████ █ ★ ████ █ █ █ █ █ █ █ █ █ 超 級 熱 烈 歡 迎 █ ████ █ █ █ ████ █ █ █ █ █ ███★ █ █ 歡迎到嘉義版! ★███ █ █ █ █ █ █ █ 訊馳電腦-路徑嘉義市林森西路496號(05)2244-526順發斜對面 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.47.43.185

12/19 08:34, , 1F
sorry,跳個 tone, 若 client 介面和小算盤相仿, 非網頁形
12/19 08:34, 1F

12/19 08:34, , 2F
式,其實很容易用 EnumChildWindow / WindowFromPoint 取
12/19 08:34, 2F

12/19 08:35, , 3F
得,再用 GetWindowText 得到內容,真要抓記憶體的話,
12/19 08:35, 3F

12/19 08:36, , 4F
除了 ReadProcessMemory / WriteProcessMemory ,還有幾個
12/19 08:36, 4F

12/19 08:37, , 5F
API 是必用的,像是 VirtualQueryEx、OpenProcessToken、
12/19 08:37, 5F

12/19 08:37, , 6F
LookupPrivilegeValue 、 AdjustTokenPrivileges
12/19 08:37, 6F

12/19 08:39, , 7F
以前的一些經驗參考一下 http://ppt.cc/eK4F
12/19 08:39, 7F

12/19 08:39, , 8F
http://ppt.cc/z6i8 ,當然若您願分享其他經驗,
12/19 08:39, 8F

12/19 08:40, , 9F
小弟願虛心求教學習 :)
12/19 08:40, 9F
文章代碼(AID): #1GqEuz4f (Soft_Job)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):
文章代碼(AID): #1GqEuz4f (Soft_Job)