Facebook Android 应用程序如何安装 Facebook Messenger?
How does the Facebook Android App install Facebook Messenger?
当我发现 Android 上的 Facebook 应用程序显然能够安装 Facebook Messenger 应用程序 而无需请求许可 时,我感到非常惊讶。
我知道可以通过另一个应用程序安装一个应用程序,但用户需要通过系统对话框确认安装。除此之外,在较新的 Android 版本中,用户需要向尝试发出安装请求的应用授予“从未知来源安装”权限。
然而,我还没有授予 Facebook 任何安装权限,也没有系统级对话框要求我确认安装。我还确保之前没有安装 Messenger。
我使用的是 Poco F2 Pro 运行 Android 10 (Miui 12)。我在不同的设备上观察到相同的行为。 Facebook在这里用的是什么魔法?
您可以使用清单文件将单个 APK 的多个快捷方式添加到应用程序绘制中。我想 Facebook 已经用它来欺骗有两个应用程序。
<activity android:name=".FacebookActiviy">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".FacebookMessengerActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
设备上有两个 APK 还是只有一个?您可以使用 ADB 查看实际 APK 的完整列表:
adb shell pm list packages -f
这可能会显示很多(可能 100 个左右)应用程序,但您可以搜索 Facebook
的结果以查看它们实际安装了多少 APK。如果我没记错的话,只有一个。
如果您允许它安装,然后检查 Messenger 的应用程序设置,您很可能(取决于版本和设备)在最底部看到安装它的应用程序。在我的设备上,它是这样写的:
现在这是关键:请注意,它不是说 Google 播放,也不是 Facebook 本身。它提到“Facebook 应用程序安装程序”。
那这是什么?好吧,进入Settings > Apps
寻找它。您很有可能会在这里找到 2 个应用程序; “Facebook 应用程序安装程序”(com.facebook.system
) 和“Facebook 应用程序管理器”(com.facebook.appmanager
)。
现在,这两个应用程序似乎预装在很多 android 设备(大多数?)上,它们负责安装 Facebook 和 Facebook Messenger 应用程序的更新。我还没有反编译这些并深入研究它们,但事实是“Facebook App Installer”是被列为所有 Facebook 相关应用程序的安装程序,和 预装 Facebook App Installer 的事实应该告诉你所有你需要知道的来回答这里的问题,即 Facebook 如何规避安装 Messenger 的权限请求。
为了完整起见,我还要提到
- “安装未知应用”中均未提及这两个应用 (
Settings > Apps > Special access > Install unknown apps
)。
- Facebook 应用安装程序在其应用设置中没有列出任何“危险”权限。列出的唯一权限是“检索 运行 应用程序”。
- Facebook 应用管理器的应用设置中也没有列出任何“危险”权限。它确实有一些未标记为危险的权限。即:
View network connections
、prevent phone from sleeping
、measure app storage space
、run foreground service
、run at startup
、have full network access
、download files without notification
、view Wi-Fi connections
。这里没什么特别的。
总结一下。 phone 上预装了应用程序。所有与 Facebook 相关的东西都是通过这两个应用程序安装和管理的,而不是通过通常的渠道。
由于 Facebook 的性质,有相当多的猜测和传闻基本上指责这些应用程序 data-collection 在设备上和其他各种邪恶目的。
搜索这些并没有真正给我很多信息:但它们仍然在以下 link 中进行了讨论。请注意,这些 link 中的大多数 link 都是社区内容,因此它们往往包含大量 Facebook 偏执狂和耸人听闻的内容。
https://www.facebook.com/help/android-app/812681095504818
这个 link 是 facebook 自己的 help-page,它在描述如何 禁用 facebook 应用程序更新时简要提到了这些应用程序。
https://support.google.com/android/thread/25263840?hl=en
在 Google 社区 Android 帮助的支持线程中,这里也简要提到了它。
https://forum.xda-developers.com/tmobile-lg-v10/help/suspicious-apps-apps-section-facebook-t3415876
简要谈谈如何删除(似乎你必须 root 你的 phone 才能真正摆脱它)。它也 links 到 https://www.theregister.com/2018/05/22/facebook_data_leak_no_account/ which seems to speculate that these two apps collect data from device even when the Facebook app (and messenger) isn't installed on device. Meanwhile https://thenextweb.com/finance/2019/01/09/no-samsung-isnt-pre-installing-facebook-on-your-phone/ 说相反的事情;这两个应用程序不会自行收集任何信息。
当我发现 Android 上的 Facebook 应用程序显然能够安装 Facebook Messenger 应用程序 而无需请求许可 时,我感到非常惊讶。
我知道可以通过另一个应用程序安装一个应用程序,但用户需要通过系统对话框确认安装。除此之外,在较新的 Android 版本中,用户需要向尝试发出安装请求的应用授予“从未知来源安装”权限。
然而,我还没有授予 Facebook 任何安装权限,也没有系统级对话框要求我确认安装。我还确保之前没有安装 Messenger。
我使用的是 Poco F2 Pro 运行 Android 10 (Miui 12)。我在不同的设备上观察到相同的行为。 Facebook在这里用的是什么魔法?
您可以使用清单文件将单个 APK 的多个快捷方式添加到应用程序绘制中。我想 Facebook 已经用它来欺骗有两个应用程序。
<activity android:name=".FacebookActiviy">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".FacebookMessengerActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
设备上有两个 APK 还是只有一个?您可以使用 ADB 查看实际 APK 的完整列表:
adb shell pm list packages -f
这可能会显示很多(可能 100 个左右)应用程序,但您可以搜索 Facebook
的结果以查看它们实际安装了多少 APK。如果我没记错的话,只有一个。
如果您允许它安装,然后检查 Messenger 的应用程序设置,您很可能(取决于版本和设备)在最底部看到安装它的应用程序。在我的设备上,它是这样写的:
现在这是关键:请注意,它不是说 Google 播放,也不是 Facebook 本身。它提到“Facebook 应用程序安装程序”。
那这是什么?好吧,进入Settings > Apps
寻找它。您很有可能会在这里找到 2 个应用程序; “Facebook 应用程序安装程序”(com.facebook.system
) 和“Facebook 应用程序管理器”(com.facebook.appmanager
)。
现在,这两个应用程序似乎预装在很多 android 设备(大多数?)上,它们负责安装 Facebook 和 Facebook Messenger 应用程序的更新。我还没有反编译这些并深入研究它们,但事实是“Facebook App Installer”是被列为所有 Facebook 相关应用程序的安装程序,和 预装 Facebook App Installer 的事实应该告诉你所有你需要知道的来回答这里的问题,即 Facebook 如何规避安装 Messenger 的权限请求。
为了完整起见,我还要提到
- “安装未知应用”中均未提及这两个应用 (
Settings > Apps > Special access > Install unknown apps
)。 - Facebook 应用安装程序在其应用设置中没有列出任何“危险”权限。列出的唯一权限是“检索 运行 应用程序”。
- Facebook 应用管理器的应用设置中也没有列出任何“危险”权限。它确实有一些未标记为危险的权限。即:
View network connections
、prevent phone from sleeping
、measure app storage space
、run foreground service
、run at startup
、have full network access
、download files without notification
、view Wi-Fi connections
。这里没什么特别的。
总结一下。 phone 上预装了应用程序。所有与 Facebook 相关的东西都是通过这两个应用程序安装和管理的,而不是通过通常的渠道。
由于 Facebook 的性质,有相当多的猜测和传闻基本上指责这些应用程序 data-collection 在设备上和其他各种邪恶目的。
搜索这些并没有真正给我很多信息:但它们仍然在以下 link 中进行了讨论。请注意,这些 link 中的大多数 link 都是社区内容,因此它们往往包含大量 Facebook 偏执狂和耸人听闻的内容。
https://www.facebook.com/help/android-app/812681095504818 这个 link 是 facebook 自己的 help-page,它在描述如何 禁用 facebook 应用程序更新时简要提到了这些应用程序。
https://support.google.com/android/thread/25263840?hl=en 在 Google 社区 Android 帮助的支持线程中,这里也简要提到了它。
https://forum.xda-developers.com/tmobile-lg-v10/help/suspicious-apps-apps-section-facebook-t3415876 简要谈谈如何删除(似乎你必须 root 你的 phone 才能真正摆脱它)。它也 links 到 https://www.theregister.com/2018/05/22/facebook_data_leak_no_account/ which seems to speculate that these two apps collect data from device even when the Facebook app (and messenger) isn't installed on device. Meanwhile https://thenextweb.com/finance/2019/01/09/no-samsung-isnt-pre-installing-facebook-on-your-phone/ 说相反的事情;这两个应用程序不会自行收集任何信息。