Android 反編譯工具的各種用法

前言:

各位同學(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目錄下
如圖

QQ截圖20200622123648.png

然后把你需要反編譯的apk復(fù)制到跟apktool.bat apktool.jar 同一層目錄路徑下
然后我們打開cmd命令行 進(jìn)入該目錄下 如圖
QQ截圖20200622124003.png

然后輸入 apktool d test.apk
QQ截圖20200622124121.png

然后按回車鍵執(zhí)行這個(gè)條命令 就開始反編譯了·
QQ截圖20200622124054.png

反編譯成功后我們看到多出test 文件夾就是我們反編譯出來的內(nèi)容
反編譯出來的內(nèi)容里面有smali 文件和一些資源文件以及安卓的項(xiàng)目清單文件 我們可以做適當(dāng)?shù)男薷脑龠M(jìn)行二次打包回編譯 如圖
QQ截圖20200622124534.png

apktool回編譯打包

我們還是進(jìn)到剛才的apktool.bat和apktool.jar那個(gè)路徑


QQ截圖20200622124003.png

我們輸入apktool b test 這條命令進(jìn)行回編譯打包


QQ截圖20200622124719.png

按下回車鍵執(zhí)行即可
QQ截圖20200622124738.png

回編譯成功后的apk在test文件夾里面的dist路徑下


QQ截圖20200622124748.png

QQ截圖20200622124804.png

這個(gè)回編譯生成的包是沒有簽名的我們需要自己重新簽名才能使用
我這人推薦大家使用360加固工具簽名

360加固下載地址 :https://jiagu.#

QQ截圖20200622125108.png

二 dex2jar

將dex2jar.jar解壓成文件夾
將test.apk后綴名修改為.rar然后解壓(.apk 也可以直接解壓)
將test.apk解壓后的目錄下包含的classes.dex文件復(fù)制到dex2jar解壓后的文件夾中
(classes.dex文件與d2j-dex2jar.bat文件同在一個(gè)目錄中)


QQ截圖20200622125349.png

打開cmd命令編輯器
進(jìn)入classes.dex文件與d2j-dex2jar.bat所在文件目錄
輸入命令d2j-dex2jar.bat classes.dex


QQ截圖20200622125416.png

此時(shí)可以看到目錄中多出了classes-dex2jar.jar文件
QQ截圖20200622125424.png

三jd-gui

雙擊運(yùn)行 jd-gui-1.4.0.jar 文件,
將.jar文件拖到工作區(qū)即可打開。

QQ截圖20200622125431.png

如果我們想要看到andorid apk里面的源代碼 Java代碼 我們只需要配合使用 dex2jar 和
jd-gui即可 如果我們是要修改apk包里面的部分內(nèi)容我們可以使用apktool 來反編譯然后回編譯重新打包
生成我們想要的包
最后附上網(wǎng)盤整理的反編譯工具資源
鏈接:https://pan.baidu.com/s/145vS1aC8P5FqLgfS1DfquQ 提取碼:kvy8

最后總結(jié):

安卓逆向的知識(shí)非常的復(fù)雜 涉及到去殼(加固的殼子) 反代碼混淆 算法分析 我這邊就不展開講了今天 只是分享簡單的反編譯工具的使用 有興趣學(xué)的的同學(xué)可以私下多多交流 ,如果覺得文章還不錯(cuò)麻煩給個(gè)star 和轉(zhuǎn)發(fā) 謝謝

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過簡信或評(píng)論聯(lián)系作者。

友情鏈接更多精彩內(nèi)容