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 進行了程式碼混淆, 那麼如何處理呢?
相關文章
- 安卓apk檔案反編譯安卓APK編譯
- 反編譯apk編譯APK
- Android Apk反編譯系列教程(一)如何反編譯APKAndroidAPK編譯
- apk 包的破解與反編譯APK編譯
- 安卓反編譯詳解安卓編譯
- [轉]andriod的apk檔案相關的編譯反編譯工具APK編譯
- 關於Android APK反編譯AndroidAPK編譯
- mac上Apk反編譯工具合集整理與資源MacAPK編譯
- apkTool反編譯apk碰到的問題APK編譯
- 使用AndroidKiller進行APK反編譯AndroidAPK編譯
- APK反編譯後程式碼分析(一)APK編譯
- android 反編譯APK取原始碼。Android編譯APK原始碼
- 安卓逆向之Luac解密反編譯安卓解密編譯
- Android Apk反編譯系列教程(二)APK重打包AndroidAPK編譯
- Java編譯與反編譯Java編譯
- 反編譯Apk後 找到對應的佈局編譯APK
- win/mac下反編譯Android安裝包-APK檔案Mac編譯AndroidAPK
- Android APK反編譯技巧全講解AndroidAPK編譯
- Android Apk反編譯得到Java原始碼AndroidAPK編譯Java原始碼
- 反編譯APK資原始檔與原始碼編譯APK原始碼
- 跨平臺編譯編譯
- Android反編譯:反編譯工具和方法Android編譯
- 爬蟲app資訊抓取之apk反編譯抓取爬蟲APPAPK編譯
- MacOS X APK 最新版本 反編譯MacAPK編譯
- 常見 APK 反編譯工具安裝與使用APK編譯
- 編譯arm平臺的ethtool編譯
- Unity 編譯 Android 的原理解析和 apk 打包分析Unity編譯AndroidAPK
- MAC使用APKTool反編譯apk修改版本號後重新打包MacAPK編譯
- Android 安全之如何反編譯與加密apk包Android編譯加密APK
- Android安全之如何反編譯與加密apk包Android編譯加密APK
- Vector 35 Binary Ninja for Mac(反編譯器、二進位制分析平臺)Mac編譯
- Go跨平臺交叉編譯Go編譯
- apkTool---一個簡單好用的apk反編譯工具APK編譯
- Java程式碼的編譯與反編譯那些事兒Java編譯
- java反編譯工具Java編譯
- 反編譯 iOS APP編譯iOSAPP
- android 反編譯Android編譯
- 反編譯器和二進位制分析平臺:Vector 35 Binary Ninja for mac編譯Mac