提取安卓手機(jī)中以安裝的apk 并 反編譯

一.導(dǎo)出步驟:
1)查看當(dāng)前可見界面
目的:找到對應(yīng)應(yīng)用的包名和當(dāng)前Activity的名字
adb shell dumpsys activity | findstr "mResumedActivity"

1)找到應(yīng)用的包名
執(zhí)行命令:

$ adb shell pm list package
輸出結(jié)果:

com.pplive.movie3d
.
.
.

2)找到應(yīng)用備份包的位置,比如要找com.pplive.movie3d
執(zhí)行命令:

$ adb shell pm path com.pplive.movie3d
輸出結(jié)果:

package:/system/app/PPTV3D/PPTV3D.apk
3)提取安裝包
執(zhí)行命令:

$ adb pull /system/app/PPTV3D/PPTV3D.apk
執(zhí)行結(jié)果:

/system/app/PPTV3D/PPTV3D.apk: 1 file pulled. 3.9 MB/s (57503627 bytes in 14.164s)
至此,提取成功,可以發(fā)送/復(fù)制到手機(jī)上進(jìn)行安裝了 系統(tǒng)及和第三方均可。

二.反編譯

<meta charset="utf-8">

下載反編譯所需軟件

  1. apktool 作用:把a(bǔ)pk文件反編譯,取出資源
  2. dex2jar 作用:把存有java內(nèi)容的dex文件反編譯(classes.dex轉(zhuǎn)化成jar文件)
  3. jd-gui 作用:查看APK中classes.dex轉(zhuǎn)化成出的jar文件,即源碼文件

百度網(wǎng)盤:https://pan.baidu.com/s/1T94PX4EBYyuJKOqfNqyc6g 提取碼: mquv

使用:

<meta charset="utf-8">

1. 使用apktool反編譯apk得到圖片、XML配置、語言資源等文件

image

在存放下載好的反編譯工具所在目錄的上方輸入cmd可以使cmd直接定位到該文件夾目錄下


image.png
java -jar apktool_2.4.0.jar d -f G:\BaiduNetdiskDownload\安卓反編譯工具/PPTV3D.apk  -o outFileDir

命令格式為

java -jar apktool.jar包的文件名 d -f  要反編譯軟件包名 -o 要輸出的文件夾
image.png

成功便可在輸出的outFileDir文件夾下看到資源內(nèi)容了

2.使用dex2jar反編譯dex文件得到Java源碼


image.png

以壓縮包的的形式打開apk安裝包

找到dex結(jié)尾的文件classes.dex,這就是java編譯打包后的文件

將獲取到的classes.dex放到之前解壓出來的反編譯工具【dex2jar】文件夾內(nèi)

image.png
image.png

直接輸入cmd 回車

cmd進(jìn)入該文件夾后輸入

d2j-dex2jar classes.dex
image.png

執(zhí)行完成后就可以在該目錄下看到dex文件反編譯成功后得到的jar包了

image.png

最后打開所下載的jd-gui-windows工具打開反編譯得到的jar文件就可以反編譯得到j(luò)ava源代碼了

image.png
image.png
image.png

結(jié)束。。。。。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容