mac 環境下Android 反編譯源碼


mac環境下Android 反編譯

一、需要的工具

          apktool:反編譯APK文件,得到classes.dex文件,同時也能獲取到資源文件以及布局文件。

          dex2jar:將反編譯后的classes.dex文件轉化為.jar文件。

          jd-gui:用於將.jar文件轉換成java代碼。

二、反編譯步驟

第一步:使用apktool工具對APK進行反編譯

1. 下載apktool:https://ibotpeaches.github.io/Apktool/install/

2.把下載好的apktool腳本和apktool.jar文件移動到 /usr/local/bin 文件夾下

 

3. 使用命令chmod +x 分別對apktool和apktool.jar文件進行提權

 

//先進入到/usr/local/bin文件夾下

cd /usr/local/bin
chmod +x apktool
chmod +x apktool.jar

 

 

4. 測試是否成功,終端輸入apktool,若成功,如下圖

 

 5. 運行apoktool腳本進行反編譯

①. 把你需要反編譯的apk文件也復制到 /usr/local/bin 文件夾下,確保apktoolapktool.jar以及apk文件都在/usr/local/bin目錄下
②. 終端輸入命令 apktool d xxx.apk回車,等待執行完畢

 

//如果當前已在/usr/local/bin 目錄下,忽略此步
cd /usr/local/bin  

//開始反編譯目標APK文件
apktool d xxx.apk

 

 ③. 執行完畢后目錄下會生成反編譯apk的對應文件夾

 

 但是我們在反編譯apk后的文件夾里並沒有看到classes.dex文件,這時候就需要在上述命令行添加-s,表示禁止將dex文件解碼成smali

apktool d -s xxx.apk

 

 

第二步:使用dex2jar工具把classes.dex文件轉化成.jar文件

1. 下載dex2jar並解壓 :   https://sourceforge.net/projects/dex2jar/files/

2. 進入到你解壓后的dex2jar文件夾下(根據你的實際情況文件夾位置不一樣),如:

cd Downloads/dex2jar-2.0

3. 把classes.dex文件復制到解壓后的dex2jar文件夾下,終端執行命令sh d2j-dex2jar.sh classes.dex

sh d2j-dex2jar.sh classes.dex

 

3. 執行完畢后,會在文件夾下生成一個.jar文件,里面就是java源碼 

 

第三步:使用JD-GUI軟件查看jar包下的java源碼

1.下載並安裝jd-gui    http://java-decompiler.github.io/
2. 打開安裝好的JD-GUI,直接把第二步生成的.jar文件拖進去,就能看到反編譯出來的java源碼了 

 

 

 參考文檔:https://www.jianshu.com/p/3a305f32c4a3

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM