Re: [閒聊] 請問開圖的最初原理?

看板WarCraftChat作者 (麥子)時間16年前 (2009/03/25 11:59), 編輯推噓28(2806)
留言34則, 24人參與, 最新討論串2/2 (看更多)
※ 引述《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
確實不會影響到正盜版 bz就是有一堆忠實擁護者
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
之前在ro討論板時 我有想過一個想法
03/25 13:40, 10F

03/25 13:40, , 11F
MHer:"我要還開十次" http://0rz.tw/Qwfzc
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
Blizzard的遊戲就是好 沒話講 瑕不掩瑜
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
淚推麥子大啦QAQ/
03/25 14:12, 17F

03/25 15:25, , 18F
專業推
03/25 15:25, 18F

03/25 19:05, , 19F
後來一堆3D網路遊戲大抄特抄WOW XDD
03/25 19:05, 19F

03/25 19:19, , 20F
推洨麥>8<
03/25 19:19, 20F

03/25 19:28, , 21F
麥子大 江湖規矩,單挑! >8<
03/25 19:28, 21F

03/25 19:46, , 22F
樓上-.-
03/25 19:46, 22F

03/25 20:15, , 23F
玻璃渣威能阿@A@ /
03/25 20:15, 23F

03/25 21:44, , 24F
>8< 蜘蛛砲瓦!
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
專業m(_ _)m
03/26 01:09, 29F

03/26 09:10, , 30F
因為我心靈受到小創傷了呀 過幾天再去701找你們
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
文章代碼(AID): #19oQm7Bc (WarCraftChat)
討論串 (同標題文章)
文章代碼(AID): #19oQm7Bc (WarCraftChat)