Re: [問題] 彩蛋跟攻略神人是怎麼找的

作者: EricTCartman (阿ㄆㄧㄚˇ)   2020-04-02 12:09:02
→ twn65w65: 先拆包~再看達成條件比較快~ 04/02 07:18
推 ClawRage: 查程式最完整啦04/02 07:27
→ ClawRage: 一個禮拜被摸透又不是大事04/02 07:28
→ a25785885: 翻程式碼04/02 07:32
推 Lex4193: 程式碼拆包其實也有看不出來的東西04/02 07:42
推 zxcmoney: 拆程式碼容易看出來通常是秘密,但特定操作方式就不容04/02 07:50
→ zxcmoney: 易看出來。04/02 07:50
→ zxcmoney: 錯字,秘密(X) 密碼(O)04/02 07:51
推 Lex4193: 程式碼要看是監控記憶體還是看原始碼,這裡面就有差別04/02 07:52
哇,想不到是雲端工程師
我先講程式碼好了,商業Game要拿到程式碼有兩種狀況:
1. 你要外洩
2. 是用腳本控制遊戲邏輯
所以,不是1你就是要作拆包,拆包從哪裡作?
先來作反組譯,你有錢一點也許可以用反編譯器(hex-rays一套2XXXUSD起跳),不過
大部分專家都還是習慣反組譯啦。
反組譯以後接著找api call,比方說windows的讀檔,阿遊戲不是windows平台上的
喔?看你有沒有平台的SDK資訊或從字串解讀,在那邊下斷點你才知道遊戲在哪裡
"讀取資料"。
讀取資料只是讀取資料,有遊戲會蠢到沒加密的嗎?(還真的有幾款)
開始看遊戲到底是哪個加密演算法跟找Key,最後才是拿到腳本,恭喜你
欸? 阿如果遊戲不是用腳本語言咧
那...你就慢慢看組語吧
至於監控記憶體,是傳統作弊修改器的作法,首先用遊戲數值過濾出符合的記憶體位
址,接著才是修改記憶體。但你只能透過這個看出資料的變動,對反組譯的人來說優
勢是可以透過資料變動下斷點,你才能從超大量的組語程式碼中找出遊戲邏輯
這種好找,是基於你確認過的機制,你就是你看到:
我發現當我買東西,我的錢包會被扣款,所以我鎖定我錢包記憶體的位址當他變動時
我中斷,看這段邏輯的進入點在哪
你根據你明白的邏輯去推敲組合語言片段,跟你讀一堆組合語言知道這片段在幹嘛,是
概念完全不同的事。
總之 資料是資料,控制流程的還是邏輯。
就算你的遊戲引擎是爛大街的unreal跟unity,好拆也頂多是美術資源好拆,拆出貼圖
跟模組來作羞羞的事情很常見。其他東西都cooked過了
老實講,業界有些工程師連讀明碼都有障礙了(可能是寫也可能是讀的人的問題)
遊戲邏輯被編譯器O2、O3過的東西,你一個禮拜就能摸透
那真ㄉ是神,沒話可說
作者: twn65w65 (喵喵羊)   2019-04-02 07:18:00
先拆包~再看達成條件比較快~
作者: ClawRage (猛爪Claw)   2019-04-02 07:27:00
查程式最完整啦一個禮拜被摸透又不是大事
作者: a25785885 (SuperbbMan)   2019-04-02 07:32:00
翻程式碼
作者: Lex4193 (oswer)   2019-04-02 07:42:00
程式碼拆包其實也有看不出來的東西
作者: zxcmoney (修司)   2019-04-02 07:50:00
拆程式碼容易看出來通常是秘密,但特定操作方式就不容易看出來。錯字,秘密(X) 密碼(O)
作者: Lex4193 (oswer)   2019-04-02 07:52:00
程式碼要看是監控記憶體還是看原始碼,這裡面就有差別
作者: kkk900100 (+2)   2020-04-02 12:25:00
推 很多人都當破解跟喝水一樣
作者: Lex4193 (oswer)   2020-04-02 12:26:00
/wiki/List_of_open-source_video_games不是要質疑您,而是說有開放原始碼的遊戲,而且監控記憶體我有講到吧程式語言會加密我也知道金手指我也會用,雖然我只會用有明確數值的;沒有明確數值的是高手的範疇,比如說EMU版的UlyssesLin網友有作過對女神轉生系列資料的解析

Links booklink

Contact Us: admin [ a t ] ucptt.com