需要用到的工具:
APKTool:用于解析apk的res文件以及AndroidManifest.xml文件
dex2jar:用于把a(bǔ)pk解壓后生成的classes.dex文件解析為后綴為jar的文件译荞,與下面的jd-gui工具聯(lián)合使用則可以得到我們的核心Java代碼
jd-gui:將上一步所得到的jar文件解析為Java文件,從而得到軟件的核心代碼
cfr-0.150.jar:將jar文件轉(zhuǎn)成java文件?cfr 下載地址
二 開始反編譯
(1)反編譯 APK 的 manifest 文件 和 資源文件员凝。打開?apktool 文件夾咆槽,發(fā)現(xiàn)里面有如圖三個(gè)文件瞒御,把要反編譯的 apk文件 放到 這個(gè)文件夾下瓣履,然后 cmd 進(jìn)入命令行窗口,CD命令 進(jìn)入 apktool 文件夾下受啥,然后 輸入 【apktool d test.apk】命令回車即可窿侈,騷等一會(huì)兒 會(huì)看到 apktool 文件夾下 生產(chǎn)了 一個(gè) 以 test 命名的 文件夾炼幔,這里面就是 反編譯好的 資源文件了(注:這里的 test 就是apk的名稱)
(2)反編譯 apk中的 java代碼
將要反編譯的APK后綴名改為.rar或則 .zip,并解壓史简,得到其中的額classes.dex文件(它就是java文件編譯再通過(guò)dx工具打包而成的)乃秀,將獲取到的classes.dex放到工具dex2jar 所在文件夾內(nèi)肛著,然后 cmd 進(jìn)入命令行窗口,CD命令 進(jìn)入 dex2jar?文件夾跺讯,輸入d2j-dex2jar.bat classes.dex 命令 回車完成
(3)將jar文件轉(zhuǎn)成java文件【電腦配置了java 環(huán)境】
將要轉(zhuǎn)換為Java 文件的 jar包 放在 CFR.JAR 同級(jí)目錄下面枢贿,然后 cmd 進(jìn)入命令行窗口,CD命令 進(jìn)入 CFR 文件所在文件夾刀脏,然后輸入?java -jar cfr-0.149.jar base-enjarify.jar --outputdir D:/android 局荚,等待一會(huì)兒 會(huì)在 D:/android 目錄下看到 輸出的Java 文件
這樣就結(jié)束了..............