获取安装的应用程序APK [英] Get APK of installed app
问题描述
我要寻找一种可能性来提取的安装Android应用程序的APK文件,而无需root权限。直到5分钟前,我认为这是不可能的,因为所有的应用程序的apk位于/数据/应用程序(非系统应用程序)和访问这个文件夹就是可能的root权限。
I am looking for a possibility to extract the apk files of an installed android app WITHOUT root permission. Until 5 min ago I thought that this is not possible, since all app apks are located in /data/app (non-system-apps) and accessing this folder is just possible with root permission.
后来我发现,在谷歌Play商店的virus.total Android应用程序(https://play.google.com/store/apps/details?id=com.virustotal),他们似乎有机会获得的apk连在非root权限的设备。
Then I found the virus.total Android app in the google play store (https://play.google.com/store/apps/details?id=com.virustotal) and they seem to have access to the apks even on non rooted devices.
有人可以告诉我这怎么可能?是不是有备份软件的备份,而不根的apk ???
Can someone tell me how this is possible ? Aren't there backup apps which backup the apks without root ???
非常感谢你。
推荐答案
访问/数据/应用程序可能没有root权限;在该目录的权限是rwxrwx - X。执行权限上的目录意味着你可以访问它,但是没有读权限意味着你无法获得其内容的列表 - 因此,为了获得它,你必须知道你将要访问的文件的名称。 Android的包管理器会告诉你,一个给定的包中存储的apk的名字。
Accessing /data/app is possible without root permission; the permissions on that directory are rwxrwx--x. Execute permission on a directory means you can access it, however lack of read permission means you cannot obtain a listing of its contents -- so in order to access it you must know the name of the file that you will be accessing. Android's package manager will tell you the name of the stored apk for a given package.
要在命令行中执行此操作,使用亚行外壳时列表包
来获取安装包的列表,找到所需的包。
To do this from the command line, use adb shell pm list packages
to get the list of installed packages and find the desired package.
通过包名,就可以得到实际的文件名,并使用APK的位置亚行外壳时路径的包名
。
With the package name, we can get the actual file name and location of the APK using adb shell pm path your-package-name
.
和知道完整的目录,我们可以使用亚行拉满/目录/终于拉亚行/ the.apk
And knowing the full directory, we can finally pull the adb using adb pull full/directory/of/the.apk
这篇关于获取安装的应用程序APK的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!