Re: [閒聊] 請問開圖的最初原理?
※ 引述《MikuruXshana (合體)》之銘言:
: 標題: [閒聊] 請問開圖的最初原理?
: 時間: Wed Mar 25 11:08:18 2009
:
: 想請問, 開圖這工具的出現是因為 地圖有漏洞 還是 魔獸爭霸本身有漏洞呢?
: 還是說, 都不是,是由OS系統下去做出來的啊?
:
和地圖本身的製作無關,也不是魔獸爭霸的「漏洞」。
雖然我對於何謂「漏洞」沒有什麼見解,但可以開圖,顯然是在設計遊戲時就知道了。
開圖可不是魔獸爭霸的專利,也不是 Blizzard 第一次遇到的問題,
早在 Starcraft 的時候,開圖軟體就已經到處都是,因此在開發 Warcraft 時,
Blizzard 應該也早就知道相同的原理可以在 Warcraft 上面運作。
基本上我不認為開圖是一種漏洞,因為在本機執行的程式本來就有可被竄改的可能,
Warcraft 就算被竄改頂多也只影響到正在遊戲的玩家, Blizzard 未必會願意花心力,
去處理一個其實整體而言影響不大的問題。只要本機程式有可能被竄改,
搞再多的防護,也只是延後被破解的時間,但基本上最後仍是徒勞無功。
Warcraft 的開圖,可以粗略地區分為 detectable maphack 和 undetectable maphack ,
簡單講就是可偵測的 maphack 與不可偵測的 maphack 。看到這裡可能會很好奇,
原來 maphack 還有這麼多種,而是否可以偵測,應該是指 Warcraft 本身,
是否能夠對於使用開圖這件事情作出判斷。以下簡述原理。
detectable maphack 做的事情多半只是更改 Warcraft 程式執行時的記憶體資料,
舉例而言,現在的遊戲是否有「全視野」,可能是以一個 bit 存在記憶體中,
當你在開遊戲時若有選全視野,則該 bit 為 1 ,反之則為 0 。
因此要開全圖,只要在正常遊戲進行時,把該 bit 由 0 改為 1 就可以了。
其它類型的開圖功能,必如說資源傳輸等等,都可以用類似的方式達成。
不過上面所講的是非常粗略的概念,實作的時候得要考慮很多其它的因素,
例如直接開全圖,會導致可以攻擊原本看不到的敵人,若真的發生這樣的事,
會導致 client 與 host 的 game state 不一致,進而斷線。
因此怎麼樣解開特定的功能,但不影響到遊戲,是製作開圖工具一個重要的考量。
好的開圖工具是一開,該有的都有,該沒有的都沒有。做的爛的,就是該有的沒有,
或者是不該有的一堆。下場就是可能跟沒開一樣,或者是很容易不小心按到就斷線。
由於修改記憶體資料,可以透過把該記憶體資料讀出來,來判斷是否有啟動開圖,
因此不論是 Warcraft 本身或者是其它的程式,都可以作這個檢查,
在天梯的遊戲不會有「全視野」的設定,因此若是進行中的遊戲有全視野,
那麼就可以被認定是有開圖的。但 custom game 可能不能用同樣的方式判斷。
至於 undetectable maphack 則不是透過修改記憶體的方式達成。
我曾經取得過一款宣稱是 undetectable maphack 的軟體,裡面有內附一個 dll 檔,
看起來應該是透過 dll injection 去改變遊戲的繪圖函式,但細節我並不清楚。
我想以我的能力可能也不太容易弄清楚,因為那軟體是要賣錢的。
不過是真的滿強的,因為不改變記憶體內的資料,的確是難以偵測。
有興趣的人可以 google 以下,然後花錢買來玩玩看。
: 會有這種疑問, 是因為看了許多防開圖的機制都沒有效, 一推出就馬上被破解, 如果
: 下次Battle.net又更新時, 若有防開圖的更新, 請問這有可能嗎??
:
事實上每一次的更新,都會造成舊的開圖軟體無法使用,當然未必是刻意要擋開圖。
最可能的原因就是因為更新過後,執行檔改變,導致存放資料的記憶體位置改變,
因此修改記憶體的方式就會寫到錯誤的位置造成錯誤。
但只要重新跑過一次製作開圖軟體的流程,就可以重新抓出這些記憶體位置,
因此新的開圖軟體的產生,只是早晚的問題。我不認為 Blizzard 會把心力放在反開圖,
畢竟執行檔散佈出去,而 game state 又是每一個人完整擁有,
開圖在邏輯上就是可能的。阻擋只不過是增加難度,但不可能完全消除開圖的可能性。
而反開圖這件事,對 Blizzard 而言沒有太高的商業利益,就算不做玩的人還是很多。
不買正版的人不會因為有防開圖就去買正版,玩盜版的人也不會因為能開圖就不玩。
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 122.126.121.222
: 推 Gemani:正規天梯才有在抓外掛 只是不知道效果怎樣 03/25 11:24
: → jesil:我也好奇正規抓的效率怎麼樣 至少跟GGC比哪個比較好 03/25 11:25
: 推 Gemani:有誰有多的key可以去測試的 XD 03/25 11:40
--
我實實在在的告訴你們,一粒麥子不落在地裡死了,
仍舊是一粒,若是死了,就結出許多子粒來。
約翰福音 12:24
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.31.132
推
03/25 12:00, , 1F
03/25 12:00, 1F
推
03/25 12:06, , 2F
03/25 12:06, 2F
推
03/25 12:06, , 3F
03/25 12:06, 3F
推
03/25 12:06, , 4F
03/25 12:06, 4F
推
03/25 12:21, , 5F
03/25 12:21, 5F
推
03/25 12:31, , 6F
03/25 12:31, 6F
→
03/25 12:32, , 7F
03/25 12:32, 7F
推
03/25 13:31, , 8F
03/25 13:31, 8F
推
03/25 13:32, , 9F
03/25 13:32, 9F
推
03/25 13:40, , 10F
03/25 13:40, 10F
推
03/25 13:40, , 11F
03/25 13:40, 11F
→
03/25 13:41, , 12F
03/25 13:41, 12F
→
03/25 13:41, , 13F
03/25 13:41, 13F
→
03/25 13:48, , 14F
03/25 13:48, 14F
推
03/25 14:08, , 15F
03/25 14:08, 15F
→
03/25 14:09, , 16F
03/25 14:09, 16F
推
03/25 14:12, , 17F
03/25 14:12, 17F
推
03/25 15:25, , 18F
03/25 15:25, 18F
→
03/25 19:05, , 19F
03/25 19:05, 19F
推
03/25 19:19, , 20F
03/25 19:19, 20F
推
03/25 19:28, , 21F
03/25 19:28, 21F
推
03/25 19:46, , 22F
03/25 19:46, 22F
推
03/25 20:15, , 23F
03/25 20:15, 23F
推
03/25 21:44, , 24F
03/25 21:44, 24F
推
03/25 21:48, , 25F
03/25 21:48, 25F
推
03/25 22:29, , 26F
03/25 22:29, 26F
推
03/25 23:17, , 27F
03/25 23:17, 27F
推
03/25 23:53, , 28F
03/25 23:53, 28F
推
03/26 01:09, , 29F
03/26 01:09, 29F
推
03/26 09:10, , 30F
03/26 09:10, 30F
推
03/26 14:48, , 31F
03/26 14:48, 31F
推
03/26 16:35, , 32F
03/26 16:35, 32F
推
03/26 21:41, , 33F
03/26 21:41, 33F
推
03/28 03:44, , 34F
03/28 03:44, 34F
討論串 (同標題文章)
WarCraftChat 近期熱門文章
PTT遊戲區 即時熱門文章
11
13