新手到大神反編譯unity3d遊戲系列教程【一】

大家好,我是SkyNote,受邀加入西部世界,既然加入了就來大家來點新鮮的素材。最近在研究unity3d遊戲逆向的東東,今天就來介紹下Unity3d逆向的事情吧。

1.識別unity3d遊戲

如何鑒別是否是unity3d開發的呢?很簡單,第一:看介紹,介紹裡面3D標籤,如果介紹裡面出現unity引擎。那就肯定是unity3d開發的了,如下圖。

當然,還有一種很笨但是很有效的辦法。就是把你認為是3d畫面的遊戲都下載一遍,解壓apk文件,找到assetsbinDataManaged,如果看到以下類似的Dll文件,恭喜你,這個是unity3d開發的。

2.反編譯

反編譯分3部分。

①.反編譯java代碼。個人喜歡用apkide改之理,下載地址

APKIDE改之理3.5.0少月增強版發布【20170808】 - 『逆向資源區』 - 吾愛破解 - LCG - LSG |安卓破解|病毒分析|破解軟體|www.52pojie.cnwww.52pojie.cn圖標

這個軟體的介紹在52破解裡面很詳細,這裡就不啰嗦了。打開APKIDE改之理,首次使用可能需要提示選擇jdk位置。沒有安裝的話,下載一個就好。下載好了設置下。如果不知道在哪裡設置了。可以apkid改之理的 ->工具->配置與選項(s)即可彈出如下界面。

設置好了就可以用了。選擇APK文件就會出現如下界面。

單擊java圖標打開java源碼,就能看到反編譯的java代碼了。加密加固等除外,這塊還在研究。

②.反編譯unity3d中Dll代碼。(沒有混淆或其他處理就簡單)

先來講解下沒有加密的。反編譯dll常用的工具有3種。Lispy,.NET Reflector和dotpeek,個人比較喜歡dotpeek。dotpeek是免費的,官網就能下載

dotPeek: Free .NET Decompiler & Assembly Browser by JetBrainswww.jetbrains.com

把assetsbinDataManaged下的dll拖進dotpeek即可。直接選哪個vs圖標就能還原項目了。在vs界面查找關鍵字比較方便,如正在載入等。當然還原的項目肯定會有不少的報錯,接下來咋辦呢,找到報錯的那段代碼,用其他兩個反編譯工具打開剛才這個dll,找到對應位置,看下是否一樣,不一樣,覆蓋vs中的部分代碼。一般情況就不報錯了。

③.反編譯unity3d資源。(不推薦,可以直接抓資源就不用這個)

這個先不講了,下回講吧,貌似講的有點多。先貼一個大圖吧。記得關注下西部世界哦。

轉載請註明出處:發佈於【西部世界 】新手到大神反編譯unity3d遊戲系列教程【一】

推薦閱讀:

演算法逆向1——簡單演算法逆向
linux逆向基礎
為何我國可以生產j20,卻生產不出好的汽車?

TAG:反编译 | 逆向工程 | Unity游戏引擎 |