精華區beta C_Chat 關於我們 聯絡資訊
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過的東西,你一個禮拜就能摸透 那真ㄉ是神,沒話可說 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.115.233 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1585800544.A.871.html
kkk900100: 推 很多人都當破解跟喝水一樣 04/02 12:25
Lex4193: /wiki/List_of_open-source_video_games 04/02 12:26
Lex4193: 不是要質疑您,而是說有開放原始碼的遊戲,而且監控記憶體 04/02 12:26
Lex4193: 我有講到吧 04/02 12:26
監控記憶體是你要有明確的目標,例如: 1. 錢 2. HP 3. 持有道具 (一般道具會有index) 彩蛋跟很多細節,明確目標還沒被發現,你要監視啥? 可能的途徑有一種, 1. 我去鎖定玩家HP 2. 我發現扣血程式碼中有一個counter 3. 我發現counter到達一定數值會觸發另一段程式碼 監控記憶體數值的變化是你要有監控的對象,他們終究還是資料 ※ 編輯: EricTCartman (36.231.115.233 臺灣), 04/02/2020 12:33:53
Lex4193: 程式語言會加密我也知道 04/02 12:31
Lex4193: 金手指我也會用,雖然我只會用有明確數值的;沒有明確數值 04/02 12:35
Lex4193: 的是高手的範疇,比如說EMU版的UlyssesLin網友有作過對女 04/02 12:36
Lex4193: 神轉生系列資料的解析 04/02 12:36