查看單個文章
舊 2009-04-01, 02:54 PM   #8 (permalink)
mini
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:96 | 在線時長:9665小時 | 升級還需:132小時級別:96 | 在線時長:9665小時 | 升級還需:132小時級別:96 | 在線時長:9665小時 | 升級還需:132小時級別:96 | 在線時長:9665小時 | 升級還需:132小時級別:96 | 在線時長:9665小時 | 升級還需:132小時級別:96 | 在線時長:9665小時 | 升級還需:132小時
註冊日期: 2002-12-07
文章: 13249
精華: 0
現金: 26241 金幣
資產: 3024051 金幣
預設



我想你可能有點誤解

這兩個程式是這樣的
client.exe 相當於你要作手腳的程式 (這裡是用來模擬示範當作 遊戲主執行檔 用的)
而 MemoryEdit.exe 會自動執行client.exe這個程式

client.exe因為只是模擬假設他是個遊戲
而內容
是簡單的把某變數不斷印出
變數的記憶體位址 = 7474

而 MemoryEdit.exe 可輸入上面的 變數的記憶體位址
欲改寫的值
輸入後
client.exe 就會顯示
變數的記憶體位址 = 欲改寫的值

==================

所以你必須改寫一下 MemoryEdit 之程式碼
把 char szFileName[] = "Client.exe";
之 Client.exe 改成你遊戲的執行檔名稱

接著你就可以輸入第一樓你提供的
記憶體位址來串改
遊戲數值 了

不過
很顯然的 MemoryEdit的設計是假設你的遊戲是一個單純的
只有一個主程序檔 某某某.exe
如果 你的遊戲 是
a.com 呼叫 b.exe 那 MemoryEdit就要改一下設計方式了

個人前面介紹的VB範例 "如何讀寫外部程式的記憶體"
就是一個藉由
視窗標題來獲得相關程序位址等資訊
較正統的範例
也就是
先執行遊戲 再執行遊戲修改軟體
mini 目前線上  
送花文章: 1999, 收花文章: 7957 篇, 收花: 26749 次
回覆時引用此帖
有 2 位會員向 mini 送花:
eric10104 (2009-04-02),Living (2009-04-04)
感謝您發表一篇好文章