Re: [請益] 好奇外掛想加入資工家庭

作者: ghchen (Seele)   2019-05-30 17:52:45
順勢分享一下自己的*遊戲*心得
我去年主要在玩的是手機遊戲碧藍航線
但日子久了就想找點刺激的來玩
但是想修改,沒有一點了解是很浪費時間的
所以必須先知道這款遊戲是怎麼運作的
開發語言、環境架構之類的東西
盡可能的去挖掘
畢竟遊戲在客戶端執行,想辦法拆開來看
調查了一下近代許多手機遊戲
都有Unity3D的影子
順勢發現dnSpy這類.net反編譯工具
看了看卻沒找到遊戲邏輯或裝備數據之類的
又發現Unity的dll大概是不能熱更新的
所以猜測有用到其他框架來做遊戲邏輯
剛好包裡面有用到Lua的東西
就繼續朝這個方向下去挖掘
當然也會需要一些基本工具例如
AssetBundleExtractor, lua-jit decompiler
剛好某個包裡面有整個遊戲的邏輯與數據
而且沒有加密,可以直接反編譯成Lua script
之後就開始瘋狂亂改,包回手機運行
像是修改裝備的攻擊力之類的都算小兒科
初期沒有分寸改的誇張了,被封了幾個號
之後就在危險的邊緣瘋狂試探
也過了一段歡樂的時光XD
可惜某天更新之後開始加密了
第一層是對asset bundle檔做加鹽
剛好dll裡面有提供想對應的方法來解
第二層是對 lua byte code 加密
這個就麻煩了點
為了找到解密點還要用到IDA去看
但是找到解密方法了,但卻又被加密
無法直接看到反編譯的c程式碼
後來是用真機運行然後下中斷點的方式
看到該段加解密的程式
接下來就照著裡面邏輯用自己熟係的語言實做
整個改包的流程也變得相當繁瑣
後來就比較不愛改包了
開始發展測試用的私服
為了了解遊戲內訊息的傳遞
找到他們用的是protobuf
搭配wireshark,整理出正式服的格式
再用自己會的語言開發mockup server
總結過程是滿有趣的,搜集線索
大膽假設自己的想法,小心求證
開心的看著自己開發出來的工具能夠運作
順便學習到一些平常不會用到的技能
也會認識一些志同道合的朋友
大概是這樣
作者: shimachokong   2019-05-30 18:13:00
太強了,推你
作者: Y78 (Y78)   2019-05-30 18:13:00
作者: ReanoX (ReanoX)   2019-05-30 18:25:00
拆手遊很容易可以看到test sever 然後進去玩很多很有趣的東西哈哈
作者: mopackn85256 (天外天)   2019-05-30 18:56:00
神人
作者: CCben (new man)   2019-05-30 19:05:00
作者: atoom (atoom)   2019-05-30 19:05:00
有趣
作者: qazwsxedcs (007)   2019-05-30 20:07:00
神人 希望以後也能這樣學好程式
作者: ripple0129 (perry tsai)   2019-05-30 20:08:00
順勢請教,protobuf定義的格式是怎樣猜出來的?有挖到源碼嗎?之前卡這關,想靠wireshark看資料導出proto
作者: ghchen (Seele)   2019-05-30 20:33:00
lua script裡面有protobuf的定義,寫程式轉成.proto吧
作者: bcew (bcew)   2019-05-30 21:07:00
推神人
作者: Bencrie   2019-05-30 23:03:00
推神人。果然作弊搞破壞之類的比較受人崇拜 XD
作者: LERICAL (統二布丁)   2019-05-30 23:27:00
推個 超猛
作者: genius945 (添財)   2019-05-31 00:42:00
好猛,大大有更細節的分享嗎XD
作者: ghchen (Seele)   2019-05-31 09:52:00
哪個方面的*細節*?
作者: iansrc (Ian)   2019-06-01 10:55:00
強XD

Links booklink

Contact Us: admin [ a t ] ucptt.com