前言:
各位同學(xué)大家好 ,相信各位都有聽過或者做過安卓的反編譯的 ,今天我就給大家介紹幾款反編譯工具反別是 apktool dex2jar jd-gui.jar 希望能幫助到大家的學(xué)習(xí)
準(zhǔn)備工作:
分別下載
apktool 下載地址 :https://ibotpeaches.github.io/Apktool/install/
dex2jar 下載地址 : https://sourceforge.net/projects/dex2jar/
jd-gui.jar 下載地址 :http://java-decompiler.github.io/
工具的具體作用:
1、apktool.bat为严;apktool.jar
作用:
最大程度的還原apk中的manifest文件和資源文件 洒闸。
使用apktool工具反編譯apk文件比直接解壓同一個(gè)apk文件大;
還可以將反編譯之后的apk重新打包成apk文件刨秆,但需要重新簽名囱井,才能安裝使用。
2、dex2jar
作用:
將APK直接解壓后晚顷,目錄下包含的一個(gè)classes.dex文件反編譯為classes-dex2jar.jar文件
3峰伙、jd-gui.jar
作用:
直接查看classes-dex2jar.jar文件。
具體使用:
一 apktool的使用
將下載好的apktool.bat與apktool.jar復(fù)制到C:\Windows目錄下
如圖
然后把你需要反編譯的apk復(fù)制到跟apktool.bat apktool.jar 同一層目錄路徑下
然后我們打開cmd命令行 進(jìn)入該目錄下 如圖
然后輸入 apktool d test.apk
然后按回車鍵執(zhí)行這個(gè)條命令 就開始反編譯了·
反編譯成功后我們看到多出test 文件夾就是我們反編譯出來的內(nèi)容
反編譯出來的內(nèi)容里面有smali 文件和一些資源文件以及安卓的項(xiàng)目清單文件 我們可以做適當(dāng)?shù)男薷脑龠M(jìn)行二次打包回編譯 如圖
apktool回編譯打包
我們還是進(jìn)到剛才的apktool.bat和apktool.jar那個(gè)路徑
我們輸入apktool b test 這條命令進(jìn)行回編譯打包
按下回車鍵執(zhí)行即可
回編譯成功后的apk在test文件夾里面的dist路徑下
這個(gè)回編譯生成的包是沒有簽名的我們需要自己重新簽名才能使用
我這人推薦大家使用360加固工具簽名
360加固下載地址 :https://jiagu.#
二 dex2jar
將dex2jar.jar解壓成文件夾
將test.apk后綴名修改為.rar然后解壓(.apk 也可以直接解壓)
將test.apk解壓后的目錄下包含的classes.dex文件復(fù)制到dex2jar解壓后的文件夾中
(classes.dex文件與d2j-dex2jar.bat文件同在一個(gè)目錄中)
打開cmd命令編輯器
進(jìn)入classes.dex文件與d2j-dex2jar.bat所在文件目錄
輸入命令d2j-dex2jar.bat classes.dex
此時(shí)可以看到目錄中多出了classes-dex2jar.jar文件
三jd-gui
雙擊運(yùn)行 jd-gui-1.4.0.jar 文件词爬,
將.jar文件拖到工作區(qū)即可打開。
如果我們想要看到andorid apk里面的源代碼 Java代碼 我們只需要配合使用 dex2jar 和
jd-gui即可 如果我們是要修改apk包里面的部分內(nèi)容我們可以使用apktool 來反編譯然后回編譯重新打包
生成我們想要的包
最后附上網(wǎng)盤整理的反編譯工具資源
鏈接:https://pan.baidu.com/s/145vS1aC8P5FqLgfS1DfquQ 提取碼:kvy8
最后總結(jié):
安卓逆向的知識非常的復(fù)雜 涉及到去殼(加固的殼子) 反代碼混淆 算法分析 我這邊就不展開講了今天 只是分享簡單的反編譯工具的使用 有興趣學(xué)的的同學(xué)可以私下多多交流 权均,如果覺得文章還不錯(cuò)麻煩給個(gè)star 和轉(zhuǎn)發(fā) 謝謝