一.导出步骤:
1)查看当前可见界面
目的:找到对应应用的包名和当前Activity的名字
adb shell dumpsys activity | findstr "mResumedActivity"
1)找到应用的包名
执行命令:
$ adb shell pm list package
输出结果:
com.pplive.movie3d
.
.
.
等
2)找到应用备份包的位置,比如要找com.pplive.movie3d
执行命令:
$ adb shell pm path com.pplive.movie3d
输出结果:
package:/system/app/PPTV3D/PPTV3D.apk
3)提取安装包
执行命令:
$ adb pull /system/app/PPTV3D/PPTV3D.apk
执行结果:
/system/app/PPTV3D/PPTV3D.apk: 1 file pulled. 3.9 MB/s (57503627 bytes in 14.164s)
至此,提取成功,可以发送/复制到手机上进行安装了 系统及和第三方均可。
二.反编译
<meta charset="utf-8">
下载反编译所需软件
- apktool 作用:把apk文件反编译,取出资源
- dex2jar 作用:把存有java内容的dex文件反编译(classes.dex转化成jar文件)
- jd-gui 作用:查看APK中classes.dex转化成出的jar文件,即源码文件
百度网盘:https://pan.baidu.com/s/1T94PX4EBYyuJKOqfNqyc6g 提取码: mquv
使用:
<meta charset="utf-8">
1. 使用apktool反编译apk得到图片、XML配置、语言资源等文件
在存放下载好的反编译工具所在目录的上方输入cmd可以使cmd直接定位到该文件夹目录下
java -jar apktool_2.4.0.jar d -f G:\BaiduNetdiskDownload\安卓反编译工具/PPTV3D.apk -o outFileDir
命令格式为
java -jar apktool.jar包的文件名 d -f 要反编译软件包名 -o 要输出的文件夹
成功便可在输出的outFileDir文件夹下看到资源内容了
2.使用dex2jar反编译dex文件得到Java源码
以压缩包的的形式打开apk安装包
找到dex结尾的文件classes.dex,这就是java编译打包后的文件
将获取到的classes.dex放到之前解压出来的反编译工具【dex2jar】文件夹内
直接输入cmd 回车
cmd进入该文件夹后输入
d2j-dex2jar classes.dex
执行完成后就可以在该目录下看到dex文件反编译成功后得到的jar包了
最后打开所下载的jd-gui-windows工具打开反编译得到的jar文件就可以反编译得到java源代码了
结束。。。。。。