Android 常用的反編譯

最近工作中遇到了一個(gè)問(wèn)題,那就是我這邊的運(yùn)營(yíng)專員想讓我查一下它打包的apk里面的資源文件的Facebook的id寫(xiě)沒(méi)寫(xiě)錯(cuò),由于手上沒(méi)有這個(gè)項(xiàng)目的源文件,所以只能自己手動(dòng)反編譯。以下是我參考了一些文章后簡(jiǎn)單的教程。

使用工具準(zhǔn)備

1.官方最新版本號(hào)下載地址(自備梯子):

2.CSDN下載:

3.工具介紹:
apktool :資源文件獲取,能夠提取出圖片文件和布局文件進(jìn)行使用查看
dex2jar :將apk反編譯成java源代碼(classes.dex轉(zhuǎn)化成jar文件)
jd-gui :查看APK中classes.dex轉(zhuǎn)化成出的jar文件,即源代碼文件

反編譯流程

一、apk反編譯得到程序的源碼、圖片、XML配置、語(yǔ)言資源等文件
1.將下載好的工具解壓放在C盤(pán)根目錄下面,將要反編譯的test.apk拷貝到改文件夾下。
2.打開(kāi)命令行界面(執(zhí)行-CMD) ,定位到apktool目錄。輸入下面命令:

apktool d test.apk
image.png

3.獲取成功之后,會(huì)發(fā)現(xiàn)如今目錄下多了個(gè)test文件。點(diǎn)擊便能夠查看該應(yīng)用的全部資源文件了。
假設(shè)你想將反編譯完的文件又一次打包成apk,那你能夠:輸入apktool b test(你編譯出來(lái)目錄)便可,效果例如以下:


image.png

之后在之前的test文件下便能夠發(fā)現(xiàn)多了2個(gè)目錄:build和dist(里面存放著打包出來(lái)的APK文件)
二、Apk反編譯得到Java源碼
1.將要反編譯的APK后綴名改為.rar或著 .zip,并解壓,得到當(dāng)中的classes.dex文件(它就是java文件編譯再通過(guò)dx工具打包而成的)。將獲取到的classes.dex放到之前解壓出來(lái)的工具dex2jar-0.0.7.11-SNAPSHOT目錄內(nèi),在命令行下定位到dex2jar.bat所在文件夾,輸入

dex2jar.bat   classes.dex

效果例如以下:

image.png

2.在該文件夾下會(huì)生成一個(gè)classes_dex2jar.jar的文件,然后打開(kāi)工具jd-gui文件夾里的jd-gui.exe,之后用該工具打開(kāi)之前生成的classes_dex2jar.jar文件,便能夠看到源代碼了。

特別注意:你要反編譯的文件一定要放在C盤(pán)的根目錄里

**快速反編譯流程

下載工具包:ApkToolBox_1.6.4.zip
解壓文件,并打開(kāi)到jadxbin目錄下,如圖所示:

image.png

然后將需要反編譯的.apk拖到jadx-gui.bat文件上即可(如果拖上去沒(méi)有反應(yīng)或者一閃而過(guò),就得檢查一下jdk的環(huán)境變量配置是否正確)。

附:jadx閃退問(wèn)題解決辦法:

image.png

image.png

參考鏈接:
Android APK反編譯詳解
jadx 閃退問(wèn)題

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容