Mac平臺反編譯Unity編譯的安卓apk
Mac平臺反編譯Unity編譯的安卓apk
時間: 2017.09.06
參考資料:
- Android APK 反編譯實踐 http://www.jianshu.com/p/9e0d1c3e342e
- 提取Unity遊戲資源和指令碼 http://www.cnblogs.com/AaronBlogs/p/6853179.html
個人總結
一. 獲取java程式碼(dex2jar-2.0工具)
- 拿到apk
- 修改字尾名(如 apple.apk 該成 apple.zip) 然後對.zip進行解壓
解壓出來的額檔案中的 classes.dex是安卓程式碼的核心部分,,dex是在Dalvik虛擬機器上可以執行的檔案。如果發現裡面有多個(如 classes2.dex, classes3.dex)的都需要進行相同的操作, 但是我實踐時只有一個, 因為工程方法數沒有超過64k. - 將這些 classes.dex 拷貝到 dex2jar-2.0目錄下(dex2jar-2.0 是之前好的, 根據參考資料1, 中下載的)
- 開啟終端, 進入dex2jar-2.0目錄下
- 執行命令
sh d2j-dex2jar.sh classes.dex
得到classes-dex2jar.jar - 開啟JD-GUI 這個app(參考資料1中有下), 將剛得到的 classes-dex2jar.jar 拖到軟體中
- 如果apk 沒有進行混淆的話, 裡面有個com檔案, 然後結合apk 的公司名和 apk對應的應用名,就大概知道哪裡是有用的程式碼(編寫的, 不是一些lib上的程式碼)
二. 獲取res資源(如: layout樣式, 動畫, 文字values, 圖片(應該是些UI圖片) (apktool工具)
- 拿到apk
- 開啟終端, 進入apk所在的路徑下
- 執行命令
apktool d carIabTest.apk
- 這時候生成的 檔案中, res 下面就可以找到你需要的資源還可以看到 AndroidManifest.xml裡面的東西
說明:
* original資料夾是原始的AndroidManifest.xml檔案
* res資料夾是反編譯出來的資源
* smali資料夾是反編譯出來的程式碼 (smali是有點類似於彙編的語法,是Android虛擬機器所使用的暫存器語言。)
注意: 如果是Unity專案, 那麼在assets/bin/Data/Managed/Assembly-CSharp.dll
就是Unity的程式碼了. 如果要看的話可以將它拖到mono裡面看, 但是好像看不了方法的具體實現什麼的.只能看有哪些類, 方法和一些變數
三. 如何拿到 apk(Unity製作的遊戲) 的資源呢?
四. 如果apk 進行了程式碼混淆, 那麼如何處理呢?
相關文章
- Android Apk反編譯系列教程(一)如何反編譯APKAndroidAPK編譯
- 安卓逆向之Luac解密反編譯安卓解密編譯
- android 反編譯APK取原始碼。Android編譯APK原始碼
- 使用AndroidKiller進行APK反編譯AndroidAPK編譯
- mac上Apk反編譯工具合集整理與資源MacAPK編譯
- Android Apk反編譯系列教程(二)APK重打包AndroidAPK編譯
- Android APK反編譯技巧全講解AndroidAPK編譯
- Java編譯與反編譯Java編譯
- 跨平臺編譯編譯
- MacOS X APK 最新版本 反編譯MacAPK編譯
- MAC使用APKTool反編譯apk修改版本號後重新打包MacAPK編譯
- 反編譯之安裝Apktool編譯APK
- Gluon 編譯 JavaFx -> android apk編譯JavaAndroidAPK
- apkTool---一個簡單好用的apk反編譯工具APK編譯
- android 反編譯Android編譯
- 爬蟲app資訊抓取之apk反編譯抓取爬蟲APPAPK編譯
- Vector 35 Binary Ninja for Mac(反編譯器、二進位制分析平臺)Mac編譯
- Android Apk 檔案反編譯和重新打包的過程分析AndroidAPK編譯
- APK編譯及安全防護APK編譯
- 反編譯器和二進位制分析平臺:Vector 35 Binary Ninja for mac編譯Mac
- Go跨平臺交叉編譯Go編譯
- Java程式碼的編譯與反編譯那些事兒Java編譯
- Android 反編譯指南Android編譯
- java反編譯工具Java編譯
- Eclipse配置反編譯Eclipse編譯
- Java 反彙編、反編譯、volitale解讀Java編譯
- 反編譯Android APK詳細操作指南[ApkTool,dex2jar,JD-GUI](Mac)編譯AndroidAPKJARGUIMac
- .NET探索平臺條件編譯編譯
- 編譯安裝baas平臺-cello-h3c編譯
- IDA Pro for Mac(靜態反編譯軟體)Mac編譯
- IDA Pro for Mac 靜態反編譯軟體Mac編譯
- Mac 編譯安裝 PHPRedis 模組Mac編譯PHPRedis
- Unity單例模式,但是是取自Ultrakill反編譯程式碼Unity單例模式編譯
- Android開發:APK的反編譯(獲取程式碼和資原始檔)AndroidAPK編譯
- 反編譯系列教程(上)編譯
- 反編譯系列教程(中)編譯
- 小程式反編譯教程編譯
- c#程式反編譯C#編譯
- 交叉編譯-Mac環境使用NDK編譯FFmpeg編譯Mac