安卓U3D逆向從Assembly-CSharp到il2cpp

隨著unity技術的發(fā)展及廠商對于腳本源碼的保護,很大一部分U3D應用的scripting backend已經(jīng)由mono轉為了il2cpp,本文從unity簡單應用的制作講起,介紹U3D應用腳本的Assembly-CSharp.dll的逆向及il2cpp.so的逆向分析。


目錄如下:

0x1.U3D應用制作  →  輸出兩個apk,分別為mono和il2cpp

0x2.mono后臺apk的逆向分析  →  Assembly-CSharp.dll 逆向修改

0x3.il2cpp后臺apk的逆向分析  →  il2cpp.so逆向修改


正文內容:

0x1.U3D應用制作

工具:Unity最新版本 2017.2.1f1

1.1  創(chuàng)建Project

新建一個Unity3D Project,Project name為UnityTest,如下圖



1.2  創(chuàng)建script定義界面元素

創(chuàng)建GameObject和C# Script,均命名為Sample, 同時創(chuàng)建兩個UI Text,分別命名為HP和Attack。打開C# Script,進行界面元素的義,創(chuàng)建三個矩形按鈕分別為HP,ATK和LevelUP,設置點擊HP顯示100,點擊ATK顯示50,點擊LevelUP后HP和ATK的值都翻倍。


?