Re: [問題] 彩蛋跟攻略神人是怎麼找的
→
04/02 07:18,
04/02 07:18
推
04/02 07:27,
04/02 07:27
→
04/02 07:28,
04/02 07:28
→
04/02 07:32,
04/02 07:32
推
04/02 07:42,
04/02 07:42
推
04/02 07:50,
04/02 07:50
→
04/02 07:50,
04/02 07:50
→
04/02 07:51,
04/02 07:51
推
04/02 07:52,
04/02 07:52
哇,想不到是雲端工程師
我先講程式碼好了,商業Game要拿到程式碼有兩種狀況:
1. 你要外洩
2. 是用腳本控制遊戲邏輯
所以,不是1你就是要作拆包,拆包從哪裡作?
先來作反組譯,你有錢一點也許可以用反編譯器(hex-rays一套2XXXUSD起跳),不過
大部分專家都還是習慣反組譯啦。
反組譯以後接著找api call,比方說windows的讀檔,阿遊戲不是windows平台上的
喔?看你有沒有平台的SDK資訊或從字串解讀,在那邊下斷點你才知道遊戲在哪裡
"讀取資料"。
讀取資料只是讀取資料,有遊戲會蠢到沒加密的嗎?(還真的有幾款)
開始看遊戲到底是哪個加密演算法跟找Key,最後才是拿到腳本,恭喜你
欸? 阿如果遊戲不是用腳本語言咧
那...你就慢慢看組語吧
至於監控記憶體,是傳統作弊修改器的作法,首先用遊戲數值過濾出符合的記憶體位
址,接著才是修改記憶體。但你只能透過這個看出資料的變動,對反組譯的人來說優
勢是可以透過資料變動下斷點,你才能從超大量的組語程式碼中找出遊戲邏輯
這種好找,是基於你確認過的機制,你就是你看到:
我發現當我買東西,我的錢包會被扣款,所以我鎖定我錢包記憶體的位址當他變動時
我中斷,看這段邏輯的進入點在哪
你根據你明白的邏輯去推敲組合語言片段,跟你讀一堆組合語言知道這片段在幹嘛,是
概念完全不同的事。
總之 資料是資料,控制流程的還是邏輯。
就算你的遊戲引擎是爛大街的unreal跟unity,好拆也頂多是美術資源好拆,拆出貼圖
跟模組來作羞羞的事情很常見。其他東西都cooked過了
老實講,業界有些工程師連讀明碼都有障礙了(可能是寫也可能是讀的人的問題)
遊戲邏輯被編譯器O2、O3過的東西,你一個禮拜就能摸透
那真ㄉ是神,沒話可說
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.115.233 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1585800544.A.871.html
推
04/02 12:25,
5年前
, 1F
04/02 12:25, 1F
推
04/02 12:26,
5年前
, 2F
04/02 12:26, 2F
→
04/02 12:26,
5年前
, 3F
04/02 12:26, 3F
→
04/02 12:26,
5年前
, 4F
04/02 12:26, 4F
監控記憶體是你要有明確的目標,例如:
1. 錢
2. HP
3. 持有道具 (一般道具會有index)
彩蛋跟很多細節,明確目標還沒被發現,你要監視啥?
可能的途徑有一種,
1. 我去鎖定玩家HP
2. 我發現扣血程式碼中有一個counter
3. 我發現counter到達一定數值會觸發另一段程式碼
監控記憶體數值的變化是你要有監控的對象,他們終究還是資料
※ 編輯: EricTCartman (36.231.115.233 臺灣), 04/02/2020 12:33:53
→
04/02 12:31,
5年前
, 5F
04/02 12:31, 5F
推
04/02 12:35,
5年前
, 6F
04/02 12:35, 6F
→
04/02 12:36,
5年前
, 7F
04/02 12:36, 7F
→
04/02 12:36,
5年前
, 8F
04/02 12:36, 8F
討論串 (同標題文章)