線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1714
推到 Plurk!
推到 Facebook!

請教取得和更新特定程式記憶體中的某一值

尚未結案
sonoma001
一般會員


發表:8
回覆:14
積分:4
註冊:2004-02-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-25 02:09:31 IP:61.231.xxx.xxx 未訂閱
小弟平常寫的都是些學校課內的程式 基於興趣 ^^ (有興趣才能長久) 我想寫一個程式 可以讀取和更改遊戲中的某一項數值 舉例說 我在玩RO 或是Diablo 這個遊戲 我想寫一個程式可以讀取他血量的值 在一定量以下提醒我 或是更改遊戲中鎖定目標的ID 請問這要如何做到呢? 因小弟自學Delphi中^^"在很多方面關念並不是那麼完整正確 如果各位大大能提供個範例 或是 方法 就真是太感謝了 或是說太麻煩 提供小弟一個方向 或是 相關文件 那真的是很感謝 就是千萬不要不理我呀~^^" 如果我有弄錯的地方 也麻煩指教 一個delphi小新手上~
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-25 10:05:25 IP:61.31.xxx.xxx 未訂閱
讀某個記憶體的值。 請參考: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=56568
sonoma001
一般會員


發表:8
回覆:14
積分:4
註冊:2004-02-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-10-25 11:52:26 IP:61.231.xxx.xxx 未訂閱
真是感謝^^ 小弟正在研究中 還有一個問題就是 因為每一次開遊戲程式 他的數值在記憶體的位置(ex,血量,法力)都不一樣 我該如何取得每一次的位置呢?..我有看過類似的遊戲外掛程式可以做到 但小弟不太了解原理 請各位大大幫忙解答 謝謝^^"
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-10-25 12:06:57 IP:61.31.xxx.xxx 未訂閱
>開遊戲程式 他的數值在記憶體的位置 一般會先用一些工具像是 GameMaster,FPE....等等 首先會查出該遊戲在記憶體的位置。 再比對血量前及血量後,異動的位置。前後反覆測試,就會得到結果。 或者使用 SoftICe 等工具。以assembler 語法下去偵測。 大概是這樣吧!。
sonoma001
一般會員


發表:8
回覆:14
積分:4
註冊:2004-02-25

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-10-25 12:22:20 IP:61.231.xxx.xxx 未訂閱
謝謝 可是他每一次的位置不是會變嗎 我剛剛拿
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-10-25 13:00:37 IP:61.31.xxx.xxx 未訂閱
我已經說過了 要查出該遊戲在記憶體的位置。 可以用 ReadProcessMemory API 指令查到。
sonoma001
一般會員


發表:8
回覆:14
積分:4
註冊:2004-02-25

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-11-03 17:22:09 IP:61.231.xxx.xxx 未訂閱
小弟太笨 到現在還是不太懂 QQ 我想請問一個問題 例如 彈珠台遊戲的位置開始在 1000 然後彈珠數的位置在1100 下一次開的彈珠台遊戲位置在1200 那他的彈珠數的位置是否是是在1300呢? 也就是說 會在一個特定的位置 是這樣嗎? 表達不太好 ^^" 請包涵
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-11-03 17:43:02 IP:61.222.xxx.xxx 未訂閱
用 ReadProcessMemory 可以取得這個程式的記憶體位置。 >開的彈珠台遊戲位置在1200 那他的彈珠數的位置是否是是在1300呢? 有可能是這樣的。 不過通常我們會先將該程式暫停它的Process。 以便取得不會再改變的記憶體內容。
sonoma001
一般會員


發表:8
回覆:14
積分:4
註冊:2004-02-25

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-11-06 11:02:58 IP:61.231.xxx.xxx 未訂閱
感謝Wameng大大...^^ 我現在已經有些突破了 但現在又遇到問題了 我現在在做熱鍵的hook 但system scope hook須要用dll檔 我有找到了delphi深度歷險的範例 但是我需要在dll檔裡的讀取熱鍵的function 在被熱鍵觸發後回去執行 主程式.exe 檔裡的某個程序 小弟研究了一個晚上還是沒有成功....T_T ...可以提供個範例給我嗎 小弟的程序不需要變數 只需要單純呼叫即可...請幫幫我@@" 我也有試過不用dll改用 hNextHookProc := SetWindowsHookEx(WH_JOURNALRECORD,KeyboardHookHandler,HInstance,0); 但不知為何滑鼠 和鍵盤 會 失效 ??? 發表人 - sonoma001 於 2004/11/06 11:04:20
系統時間:2024-05-14 14:47:23
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!