黃易群俠傳M脫機外掛應用程式黃易神行
55090
106

[討論] 用CE找完美基址操作與提問(一)之反推與結論

bayno0928 發表於 2008-7-4 02:16:34 | 只看該作者 回帖獎勵 |正序瀏覽 |
針對早上做的完美當前血量基址搜索做了一個反推實驗。

1.首先打開遊戲和CE,用CE附加完美主程序 elementclient.exe

2.點按CE中右方 "手動添加位址"


3.將早上搜尋到最後沒有偏移值的位址 0092A4B4 在位址欄填上,按確定。


4.我們可以在CE下方位址列表中發現,我們添加的位址 0092A4B4 中存放了一個十進制的數值 9612048


5.我們在數值 9612048上按右鍵,選擇顯示為十六進制。


6.該數值轉為十六進制後為 0092AB10(數值前0x表示為十六進制)0092AB10 是不是感覺很熟析,沒錯就是早上找到最後一個有偏移值 1C 的位址。


7.接下來我們再按 "手動添加位址",位址欄輸入 0092AB10 + 1C(偏移值) = 0092AB2C(十六進制加法,不會不要問我喔QQ),按確定。


8.我們可以看到位址 0092AB2C 中放了一個十進制數值 56120864。


9.一樣將它顯示為十六進制 = 03585620


10.再按 "手動添加位址" ,這次我們在位址欄輸入 03585620 + 20(早上找到的第2個偏移值) = 03585640,然後按確定。


11.在位址 03585640 中,一樣存放著一個十進制數值 91955216


12.將數值 91955216 顯示為十六進制 = 057B2010


13.再按一次 "手動添加位址" ,位址欄輸入 057B2010 + 450(早上找到的第一個偏移值) = 057B2460 ,按下確定


14.這個位址應該就是存放我們目前血量的位址了。(驚!!!!!!!怎麼不是我們早上的血量 75 ?,而是 105 ?? 因為~~~晚上在做反推的時候,遊戲中有個人跟我組隊,我跟他解釋我在忙,他還是要跟我組,他在我旁邊打怪,我的測試人物吸了經驗值,升級了= =",所以當前血量變成 105)


從 efun大大 和 dece大大 的回覆,以及這個反推實驗得到:

1.如果要說完美的基址,應該為 0092A4B4 ,因在搜索各項數值的過程中會發現,找到最後都是這個位址。

2. 0092A4B4 此位址中,放了一個"固定"數值 0092AB10 (你關掉遊戲再開,還是放這個數值,除非改版才可能改變)。

3. 0092AB10 + 1C(一個"固定"的偏移值) = 0092AB2C ,因為位址 0092AB10 是"固定"的,偏移值 1C 也是"固定"的,所以有人會認為 0092AB2C 為基址,或 0092AB10 為基址(很多外掛程式碼的寫法也是這樣認為)。

4. 0092AB2C 這個位址裡面放了一個"不固定"的數值 03585620 (以十六進制顯示的話),遊戲重開這個數值就可能會改變。

5. 03585620 + 20 (一個"固定"的偏移值) = 03585640 (如果以 efun大大的著作來看,此偏移值是用來區分存放人物資料[20]或環境資料[08]的)

6. 03585640 這個位址裡面也放了一個"不固定"的數值 057B2010 (十六進制),遊戲重開這個數值就可能改變。

7. 057B2010 + 450 (一個"固定"的偏移值) = 057B2460 ( 450 這個偏移值,就是為了指向遊戲人物的當前血量)

8. 位址 057B2460 中存放的數值就是人物當前血量。

9.以上固定以及不固定的定義是,如果遊戲沒有改版,程式沒有改寫的情況下,你重新啟動遊戲會不會改變數值來定義。

結論:
1.完美世界的基址為 0092A4B4
2.有些外掛的程式碼寫法會將 0092AB10 或 0092AB2C 當成基址是因為,除非遊戲程式改寫(改版),不然 0092AB10 和偏移值 1C 是不會變動的
3.偏移值 20 是為了指向人物資料存放的位址( 08 指向環境資料,還未查證)
4.偏移值 450 是為了指向人物資料中當前血量的位址


遊戲(以下說明稱為程式)寫入人物當前血量到記憶體後,讀出顯示在遊戲畫面的流程:
程式從遠端資料庫讀出人物當前血量(例如 75 ) ->
程式讀取記憶體位址 0092A4B4 中的數值(目前版本固定為 0092AB10) ->
程式讀取記憶體位址 (0092AB10 + 1C) 中的數值 X (目前版本 X 為一個不固定的數值,每次重啟都會變化) ->
程式讀取記憶體位址 (X + 20) 中的數值 Y (目前版本 Y 為一個不固定的數值,每次重啟都會變化) ->
程式將人物當前血量(例如75)寫入記憶體位址 Y + 450 ->
程式讀取記憶體位址 Y + 450 的數值(例如 75 )顯示在遊戲畫面上(結束)
(流程看起來複雜,其實在程式的運算上是一瞬間的)

P.S 以上為 小菜鳥 我自己的認知,如有謬誤希望大大能提出指正,讓 小菜鳥 我能即時更正,以免誤導他人QQ

菜味很重的小菜鳥 敬上

[ 本帖最後由 bayno0928 於 2008-7-4 02:37 編輯 ]

評分

!number_of_participants! 1經驗 +10 論壇幣 +20 收起 理由
小荷才露尖尖角 + 10 + 20 我很贊同

查看全部評分

收藏收藏 分享分享 讚1 幹 分享分享 FB分享
回覆

使用道具 舉報


hy2643470 當前離線
UID
2462734
熱心
6 值
嘉獎
0 次
違規
0 次
在線時間
0 小時
經驗
6 點
積分
29
精華
0
最後登錄
2021-2-8
閱讀權限
20
註冊時間
2021-1-16
論壇幣
6 幣
聯合幣
11 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
107
hy2643470 2021-1-16 02:54:55
正好想做内存读取数据,很好的教程,感谢分享。
回覆

使用道具 舉報

aboutfathom 當前離線
UID
2447409
熱心
18 值
嘉獎
0 次
違規
0 次
在線時間
0 小時
經驗
12 點
積分
69
精華
0
最後登錄
2020-6-30
閱讀權限
20
註冊時間
2018-12-8
論壇幣
12 幣
聯合幣
27 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
106
aboutfathom 2018-12-8 20:48:29
雖然我現在看不懂,但是我相信總有一天我會參悟的
回覆

使用道具 舉報

82616708 當前離線
UID
520267
熱心
41 值
嘉獎
0 次
違規
0 次
在線時間
49 小時
經驗
29 點
積分
183
精華
0
最後登錄
2016-8-22
閱讀權限
20
註冊時間
2007-8-28
論壇幣
25 幣
聯合幣
39 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
105
82616708 2014-5-1 22:46:53
感謝大大的分享 !!









回覆

使用道具 舉報

kingstal 當前離線
UID
2053784
熱心
53 值
嘉獎
0 次
違規
0 次
在線時間
12 小時
經驗
27 點
積分
27
精華
0
最後登錄
2014-1-11
閱讀權限
20
註冊時間
2013-10-6
論壇幣
17 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
104
kingstal 2013-10-8 13:36:40
感谢大大无私的分享~~~~~~~~~
谢谢大大
回覆

使用道具 舉報

101086152 當前離線
UID
1900325
熱心
74 值
嘉獎
0 次
違規
0 次
在線時間
8 小時
經驗
24 點
積分
164
精華
0
最後登錄
2016-4-28
閱讀權限
20
註冊時間
2012-6-18
論壇幣
25 幣
聯合幣
33 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
103
101086152 2013-9-2 16:18:22
高手 good !!
                                            
回覆

使用道具 舉報

aabbccdd99 當前離線
UID
2030545
熱心
34 值
嘉獎
0 次
違規
0 次
在線時間
4 小時
經驗
22 點
積分
22
精華
0
最後登錄
2013-9-14
閱讀權限
20
註冊時間
2013-7-25
論壇幣
22 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
102
aabbccdd99 2013-8-2 16:32:44
感謝~                                             
回覆

使用道具 舉報

q4169489 當前離線
UID
1972765
熱心
17 值
嘉獎
0 次
違規
0 次
在線時間
1 小時
經驗
13 點
積分
13
精華
0
最後登錄
2013-1-5
閱讀權限
10
註冊時間
2012-12-31
論壇幣
13 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 1
101
q4169489 2013-1-4 16:17:05
寫的真好   反向推論  恩  實用喔
回覆

使用道具 舉報

q4169489 當前離線
UID
1972765
熱心
17 值
嘉獎
0 次
違規
0 次
在線時間
1 小時
經驗
13 點
積分
13
精華
0
最後登錄
2013-1-5
閱讀權限
10
註冊時間
2012-12-31
論壇幣
13 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 1
100
q4169489 2012-12-31 09:20:14
沒看明白
3. 寵物背包基址+0x10+(第幾格-1)*4  取得 寵物基址
4. 寵物基址+0x38 取得當前寵物生命
回覆

使用道具 舉報

guhuenyegui 當前離線
UID
1871110
熱心
17 值
嘉獎
0 次
違規
0 次
在線時間
2 小時
經驗
21 點
積分
21
精華
0
最後登錄
2012-4-20
閱讀權限
20
註冊時間
2012-4-17
論壇幣
10 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
99
guhuenyegui 2012-4-20 16:11:08
感謝樓主提供一個參考方法啊,我也去試試。
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊


手機版 | Archiver | 外掛聯合國

GMT+8, 2025-6-9 16:51 , Processed in 0.056809 second(s), 17 queries , Memcache On.

版權說明:
  本站不會製作、經銷、代理外掛程式。僅免費提供外掛程式下載前之掃毒及掃木馬等安全檢測驗證,協助會員遠離盜號危險程式。本站所有資料均來自網際網路收集整理,說明文字暨下載連結轉載自原程 式開發站。站上出現之公司名稱、遊戲名稱、程式等,商標及著作權,均歸各公司及程式原創所有,本站程式所有權歸外掛聯合國所有。本程式所有權歸外掛聯合國所有.......

回頂部
第二步?
第三步?