最近工作中遇到了一個(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
3.獲取成功之后,會(huì)發(fā)現(xiàn)如今目錄下多了個(gè)test文件。點(diǎn)擊便能夠查看該應(yīng)用的全部資源文件了。
假設(shè)你想將反編譯完的文件又一次打包成apk,那你能夠:輸入apktool b test(你編譯出來(lái)目錄)便可,效果例如以下:
之后在之前的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
效果例如以下:
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)到jadx
的bin
目錄下,如圖所示:
然后將需要反編譯的.apk拖到
jadx-gui.bat
文件上即可(如果拖上去沒(méi)有反應(yīng)或者一閃而過(guò),就得檢查一下jdk的環(huán)境變量配置是否正確)。