這里主要講的是使用apktool,dex2jar,jd-gui,進(jìn)行apk的反編譯
apktool 作用:資源文件獲取,可以提取出圖片文件和布局文件進(jìn)行使用查看
dex2jar 作用:將apk反編譯成Java源碼(classes.dex轉(zhuǎn)化成jar文件
jd-gui 作用:查看APK中classes.dex轉(zhuǎn)化成出的jar文件浊伙,即源碼文件
一.apk反編譯得到程序的源代碼、圖片舶治、XML配置琼讽、語言資源等文件
使用apktool即可
將需要反編譯的APK文件放到apktool目錄下便脊,
打開命令行界面(運(yùn)行-CMD) 蚂四,定位到apktool文件夾光戈,輸入以下命令:apktool.bat d -f 目標(biāo).apk 目標(biāo)文件夾名稱
例如: apktool.bat d -f test.apk test
之后發(fā)現(xiàn)在文件夾下多了個(gè)test文件,點(diǎn)擊便可以查看該應(yīng)用的所有資源文件了遂赠。
如果你想將反編譯完的文件重新打包成apk久妆,那你可以:輸入apktool.bat b test(你編譯出來文件夾)便可
之后在之前的test文件下便可以發(fā)現(xiàn)多了2個(gè)文件夾:
build
dist(里面存放著打包出來的APK文件)
二.Apk反編譯得到Java源代碼
將要反編譯的APK后綴名改為.rar或則 .zip,并解壓跷睦,得到其中的額classes.dex文件(它就是java文件編譯再通過dx工具打包而成的)筷弦,將獲取到的classes.dex放到工具dex2jar文件夾內(nèi),
在命令行下定位到dex2jar.bat所在目錄抑诸,輸入dex2jar.bat classes.dex
在該目錄下會(huì)生成一個(gè)classes_dex2jar.jar的文件烂琴,然后打開工具jd-gui文件夾里的jd-gui.exe,之后用該工具打開之前生成的classes_dex2jar.jar文件蜕乡,便可以看到源碼了奸绷,
被混淆過的apk,類文件名稱以及里面的方法名稱都會(huì)以a,b,c....之類的樣式命名\