【手机App安装及配置信息分析】
2022-11-11 08:31:26 Author: 电子物证(查看原文) 阅读量:11 收藏

手机早已成为我们日常生活中不可或缺的一部分,我们的大部分数据都存在其中,而手机只是一个载体,App才是数据的核心。在App可以大致分为两类,第一类是手机预装应用,另一类则是用户自行安装的,我们可以称之为非预装应用。

对于安卓系统而言,无论是预装应用还是非预装应用,其绝大部分数据都存储于用户区的/data/data/<PackagesName>下,比如微信(包名:com.tencent.mm)的绝大部分数据都存储于/data/data/com.tencent.mm目录下。

(data/data目录)

应用程序的安装目录

  • system/app:系统预装的应用程序

  • /data/app:用户所安装的应用程序

  • /data/data:应用程序的数据存放于此

  • /data/dalvik-cache:用于存放虚拟机可执行文件

在安装应用程序阶段,首先会先将APK安装包复制到/data/app目录,然后进行解压并扫描安装包。接下来将dex文件复制到/data/davik-cache目录,并在/data/data目录下创建应用程序的数据目录(以当前应用程序的包名命名)。

安装记录

那么应用程序在进行安装和卸载操作时这个过程会被记录在两个配置文件中,分别是packages.list和packages.xml中,这两个文件位于用户区的/data/system/目录下。其中packages.list文件所记录的内容相对简单,主要记录了应用程序的包名、使用的userid、数据存放路径等。

(data/system目录下的配置文件)

比如这里第87行内容:

  • 第一列com.tencent.mm为微信的包名。这里与APK的AndroidManifest中的package=”com.tencent,mm”是一致的;

  • 第二列10136表示的是userid;

  • 第三列0表示的是App是否处于调试模式,也是由AndroidManifest中android:debuggable设定;

  • 第四列data/user/0/com.tencent.mm则表示的是应用数据的存放位置。

(packages.list文件)

而对应的packages.xml文件中所记录的信息则更为丰富和详细。主要记录了应用程序所声明的权限、安装App的详细信息等内容。

(packages.xml文件)

通过上图我们可知,package name=com.huawei.synergy;

安装路径为/system/app/HwSynergy;

<perms>则表示的是该应用程序所声明的各种权限。

通过以上信息我们可知,此应用程序被安装在了/system/app则说明该应用程序为系统预装应用而非用户自行安装的(/data/app为非预装)。比如想知道在此手机所有App中,有哪些App具有使用NFC的权限,则可以直接搜索“android.permission.NFC”。


文章来源: http://mp.weixin.qq.com/s?__biz=MzAwNDcwMDgzMA==&mid=2651044543&idx=2&sn=eda3e85ae062d26026be796763621542&chksm=80d0f54eb7a77c5830ba43b798c660b508b1607ae9bc124dc5943db00b8acf8f056faa97c26b#rd
如有侵权请联系:admin#unsafe.sh