最近工作中遇到了一個問題锈颗,那就是我這邊的運營專員想讓我查一下它打包的apk里面的資源文件的Facebook的id寫沒寫錯,由于手上沒有這個項目的源文件炼团,所以只能自己手動反編譯跳夭。以下是我參考了一些文章后簡單的教程。
使用工具準備
1.官方最新版本號下載地址(自備梯子):
2.CSDN下載:
3.工具介紹:
apktool :資源文件獲取们镜,能夠提取出圖片文件和布局文件進行使用查看
dex2jar :將apk反編譯成java源代碼(classes.dex轉(zhuǎn)化成jar文件)
jd-gui :查看APK中classes.dex轉(zhuǎn)化成出的jar文件币叹,即源代碼文件
反編譯流程
一、apk反編譯得到程序的源碼模狭、圖片颈抚、XML配置、語言資源等文件
1.將下載好的工具解壓放在C盤根目錄下面嚼鹉,將要反編譯的test.apk拷貝到改文件夾下贩汉。
2.打開命令行界面(執(zhí)行-CMD) ,定位到apktool目錄锚赤。輸入下面命令:
apktool d test.apk
3.獲取成功之后,會發(fā)現(xiàn)如今目錄下多了個test文件匹舞。點擊便能夠查看該應(yīng)用的全部資源文件了。
假設(shè)你想將反編譯完的文件又一次打包成apk线脚,那你能夠:輸入apktool b test(你編譯出來目錄)便可赐稽,效果例如以下:
之后在之前的test文件下便能夠發(fā)現(xiàn)多了2個目錄:build和dist(里面存放著打包出來的APK文件)
二叫榕、Apk反編譯得到Java源碼
1.將要反編譯的APK后綴名改為.rar或著 .zip,并解壓姊舵,得到當中的classes.dex文件(它就是java文件編譯再通過dx工具打包而成的)晰绎。將獲取到的classes.dex放到之前解壓出來的工具dex2jar-0.0.7.11-SNAPSHOT目錄內(nèi),在命令行下定位到dex2jar.bat所在文件夾括丁,輸入
dex2jar.bat classes.dex
效果例如以下:
2.在該文件夾下會生成一個classes_dex2jar.jar的文件荞下,然后打開工具jd-gui文件夾里的jd-gui.exe,之后用該工具打開之前生成的classes_dex2jar.jar文件史飞,便能夠看到源代碼了尖昏。
特別注意:你要反編譯的文件一定要放在C盤的根目錄里
**快速反編譯流程
下載工具包:ApkToolBox_1.6.4.zip
解壓文件,并打開到jadx
的bin
目錄下构资,如圖所示:
然后將需要反編譯的.apk拖到
jadx-gui.bat
文件上即可(如果拖上去沒有反應(yīng)或者一閃而過抽诉,就得檢查一下jdk的環(huán)境變量配置是否正確)。
附:jadx閃退問題解決辦法:
參考鏈接:
Android APK反編譯詳解
jadx 閃退問題