android反編譯之路

一、需要的工具

  1. apktool:反編譯APK文件,得到classes.dex文件,同時也能獲取到資源文件以及布局文件。
  2. dex2jar:將反編譯后的classes.dex文件轉化為.jar文件。
  3. jd-gui:用于將.jar文件轉換成java代碼。

二、反編譯步驟

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

1. 下載apktool

image

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

image
image
image

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

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

cd /usr/local/bin

chmod +x apktool

chmod +x apktool.jar

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

image

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

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

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

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

image

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

image

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

apktool d -s xxx.apk

image
image

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

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

cd Downloads/dex2jar-2.0

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

sh d2j-dex2jar.sh classes.dex

image

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

image

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

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

image
image

作者:AIllll
鏈接:http://www.itdecent.cn/p/3a305f32c4a3
來源:簡書
著作權歸作者所有。商業(yè)轉載請聯(lián)系作者獲得授權,非商業(yè)轉載請注明出處。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容