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

[原創] 基址找法…

歐菲爾 發表於 2008-7-19 12:38:38 | 只看該作者 回帖獎勵 |正序瀏覽 |
我想當初會出現穿牆啦無限跳之類的東西
包括我自己在製作的外掛
都是靠所謂的基址
遊戲中基址要怎麼找?
這一直是我很想要知道的事情
所幸真的有高手願意教學了
有興趣的會員可以去]外掛聯合國討論區] » 《外掛研發學院》» 《外掛研發教學》
找一篇 (學寫外掛課程二)
http://bbs.wgun.net/thread-175978-1-1.html
閱讀權限要50喔…之前好像有找到可是那時候積分不夠,後來也就忘記了
事實上有點複雜,而且那位高手大大在某些部份的解說我也不太懂
不過還是很具有參考價值
http://www.cnblogs.com/sky-purple/archive/2008/03/18/1112152.html
網上找到應該比較詳細的圖解
********************************************************************
根據我自己的理解,我解釋一下所謂的基址。
任何運行中的程式,包括遊戲在內,所有的計算資料都放在記憶體內。
可以想像記憶體是一個超級大的火車站置物箱。
有的資料是固定放在某個位置的,這種屬於固定式,就是下次再開啟程式還是放在這邊。
另外一種是不固定放在特定位置,這種屬於變動式,就是只要換個地圖或者下次開啟,就又換位置了。
很可惜的是網路遊戲大部分都是屬於變動式的,但是這種變動是有規律可尋的。
我今天資料放在這裡,明天要放在那裡,如果隨便放我自己都找不到,所以會有一套計算的方始。
由一個固定的位置為基準點,這個點就是基址,我們用修改器搜尋是無法直接找到的。
我們能找到的只是他由基址經過計算然後得出的位置,這就是我們搜尋到的位置。
當然算式我們也是不知道的啦…但是可以利用CE來找到 ,算是其實很簡單,
1.基址放的是偏移量1
2.然後A這個位置+偏移量1=偏移量位置2的位置,這時候在這個位置可以得到偏移量2
3.然後在B這個位置+偏移量2=偏移量位置3的位置,這時候在這個位置可以得到偏移量3
4.遊戲中放置血量數字的位置就由基址和偏移量決定
5.血量位置=偏移量3+C
廢話說道這裡就打住吧。
用比較形象的例子來說明好了,歐菲爾在玩解迷遊戲,要把血量包包放到某個編號的櫃子裡,
他首上有幾個線索:基址的位置和abc3個櫃子裡的編號(這3個櫃子裡的編號每次玩都會不一樣)
首先他到了基址的櫃子得到了一個數字「1」,偏移量1
然後到a櫃得到A,到A+1號的櫃子得到一個數字「3」,偏移量2
在跑到b櫃得到B,到B+3號的櫃子得到一個數字「5」,偏移量3
在跑到c櫃得到C,到C+5號的櫃子就是放血量包包的地方啦。

但是每次在玩這個遊戲ABC都會隨機給予,所以每次放包包的地方都不一樣,這樣小歐就不行作弊,
不可以每次都直接跑到第一次放血量包包的地方。
但是我們的狀況正好相反,我們沒有基址和ABC跟偏移量,我們只有放包包的位置,和超厲害的CE。
於是我們監視著血量包包的位置,看他是怎麼放進來的,
當然血量改變一次,可憐的歐菲爾就要跑一次,而且很笨的必須每次都照上面的方法跑,
於是第一次我們利用CE的功能[查什麼在寫入該位置Find out what writes to this addrees]
結果發現到原來包包是從C傳過來的,而且C的櫃子編號跟血量包包的位置差了5格,
同樣的我在監視C櫃子,血量改變後又發現原來是從B位置傳過來的,
正好B櫃子編號跟C櫃子編號差3格,同樣繼續重複監視…
血量又改變一次,結果發現是從A櫃子傳遞過來的,A櫃子跟B櫃子差了1格,
在監視A櫃子就發現他是從基址櫃跑出來的。
由於ABC每次給的都不一樣,但是我們知道基址是固定的,偏移量也是固定的,
只要在算式中帶入改變的ABC就可以算出血量包包櫃子的編號。
這樣每次我們要修改血量就可以直接放到算出來櫃子裡。
只是要用什麼方法監視呢,首先我們找到了血量包包的位置,用CE的[查什麼在寫入該位置]
得到了算式C+5,要注意的是C是一個編號(數字),我們要找的就是提供C這個編號的櫃子,
於是我們搜尋C,發現有3個可疑的櫃子裡面都有C這個數字,
我們先盯緊這3個櫃子,然後重開一次遊戲,這時候ABC都不一樣了,
然後重新找血量包包的位置,然後在損血讓CE抓到式誰在寫入東西到血量包包的櫃子,
當然會找到另外一個C#+5,(為了避免混亂就把這個新的C稱之為C#)
在剛剛我們盯緊的3個櫃子中發現有一個櫃子有C#,這樣就可以肯定這個櫃子是c櫃
我們知道當得到偏移量3之後,必須要去開啟c櫃拿C數字,在用C+偏移量3(5)找到血量包包櫃子,
所以我們對c櫃用CE功能[查什麼在讀取該位址],會發現很多位址都在讀取,選第一個,
得到算式B+偏移量2(3,然後我們搜尋B,發現有14個(參考使用CE找基址(圖解)),
假設第一個為b櫃(綠色),用CE功能[查什麼在讀取該位址],會發現很多位址都在讀取,還是選第一個,
得到算式A+偏移量1(1,搜尋A看看有哪些櫃子有包含A(疑似a櫃),搜尋結果為12個,我們選第一個(綠色),
基本上這就是基址了,如果不確定就在用CE功能[查什麼在讀取該位址],如果這是基址就會出現:

紅色框框的0250698c跟上面紅色的字mov [0250698c],eax一樣,沒有偏移了,這就是基址啦,
如果不是基址就會出現:

有發現嘛下面的是03c31b7c就是esi,上面的紅色字mov [esi+7c] 0000000
其中esi就是03c31b7c也就是A或B或C,7C就是偏移量。


打的好累yociexp195.gif,邊打邊發現懂是懂了,但要把內容說出來還真的不容易,
我光這篇就打了3個小時,邊打還要邊思考要怎樣把他簡單化,具象化,如果還不懂我真的會很傷心yociexp80.gif

[ 本帖最後由 歐菲爾 於 2008-7-19 20:57 編輯 ]
收藏收藏 分享分享 讚 幹 分享分享 FB分享

SP小秘訣::滑鼠定位到看不懂的函數名上~按鍵盤F1~跳轉到幫助文件
SP的AIAK討論區
回覆

使用道具 舉報


chiuken 當前離線
UID
43966
熱心
16 值
嘉獎
0 次
違規
0 次
在線時間
8 小時
經驗
16 點
積分
16
精華
0
最後登錄
2009-7-25
閱讀權限
10
註冊時間
2006-9-15
論壇幣
2 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 1
62
chiuken 2009-7-25 11:16:05
YCT66B
YCT47B
YCT42B
YCT65B
YCT51B
YCT46B
YCT41B
回覆

使用道具 舉報

briantong 當前離線
UID
1204815
熱心
31 值
嘉獎
0 次
違規
0 次
在線時間
16 小時
經驗
31 點
積分
31
精華
0
最後登錄
2010-4-17
閱讀權限
20
註冊時間
2009-5-3
論壇幣
4 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
61
briantong 2009-7-12 10:50:59
-v-雖然不太懂,但我會努力的了,謝謝大大
回覆

使用道具 舉報

金浪漫 當前離線
UID
498537
熱心
2155 值
嘉獎
0 次
違規
0 次
在線時間
2350 小時
經驗
1335 點
積分
86360
精華
0
最後登錄
2023-11-2
閱讀權限
60
註冊時間
2007-8-16
論壇幣
78185 幣
聯合幣
2324 枚
幸運鑽
833 顆
招待卷
0 點
查看詳細資料
Rank: 7Rank: 7Rank: 7
60
金浪漫 2009-6-16 01:01:27
寫的滿好的..對查基址新手很有幫助
回覆

使用道具 舉報

QK一下 當前離線
UID
1126166
熱心
206 值
嘉獎
0 次
違規
0 次
在線時間
33 小時
經驗
206 點
積分
206
精華
0
最後登錄
2011-9-5
閱讀權限
25
註冊時間
2009-2-4
論壇幣
2543 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 3
59
QK一下 2009-5-22 11:56:00
喔喔 真是受益良多阿
感謝大大無私分享YCT47B
回覆

使用道具 舉報

briantong 當前離線
UID
1204815
熱心
31 值
嘉獎
0 次
違規
0 次
在線時間
16 小時
經驗
31 點
積分
31
精華
0
最後登錄
2010-4-17
閱讀權限
20
註冊時間
2009-5-3
論壇幣
4 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
58
briantong 2009-5-9 13:31:38
@0@..好正的說...不過會不會很易被抓?!
回覆

使用道具 舉報

briantong 當前離線
UID
1204815
熱心
31 值
嘉獎
0 次
違規
0 次
在線時間
16 小時
經驗
31 點
積分
31
精華
0
最後登錄
2010-4-17
閱讀權限
20
註冊時間
2009-5-3
論壇幣
4 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
57
briantong 2009-5-9 13:30:54
@0@..好正的說...不過會不會很易被抓?!
回覆

使用道具 舉報

briantong 當前離線
UID
1204815
熱心
31 值
嘉獎
0 次
違規
0 次
在線時間
16 小時
經驗
31 點
積分
31
精華
0
最後登錄
2010-4-17
閱讀權限
20
註冊時間
2009-5-3
論壇幣
4 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
56
briantong 2009-5-9 13:30:20
@0@..好正的說...不過會不會很易被抓?!
回覆

使用道具 舉報

briantong 當前離線
UID
1204815
熱心
31 值
嘉獎
0 次
違規
0 次
在線時間
16 小時
經驗
31 點
積分
31
精華
0
最後登錄
2010-4-17
閱讀權限
20
註冊時間
2009-5-3
論壇幣
4 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
55
briantong 2009-5-9 13:30:00
@0@..好正的說...不過會不會很易被抓?!
回覆

使用道具 舉報

nuthouse 當前離線
UID
1155547
熱心
89 值
嘉獎
0 次
違規
0 次
在線時間
121 小時
經驗
83 點
積分
83
精華
0
最後登錄
2013-9-12
閱讀權限
20
註冊時間
2009-3-17
論壇幣
1579 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
54
nuthouse 2009-5-4 15:20:49
謝謝大大教學,雖然已經知道了。YCT49B
回覆

使用道具 舉報

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


手機版 | Archiver | 外掛聯合國

GMT+8, 2024-6-1 16:03 , Processed in 0.073351 second(s), 20 queries , Memcache On.

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

回頂部
第二步?
第三步?