为什么 Android VPN 应用程序不使用 BIND_VPN_SERVICE?
Why Android VPN applications do not use BIND_VPN_SERVICE?
我正在分析 Android VPN 应用程序(例如 Hola**)的权限使用情况。据Google官方手册(http://developer.android.com/reference/android/Manifest.permission.html)规定,VPN应用程序必须使用BIND_VPN_SERVICE权限,但Hola并未在其Manifest文件中进行统计。我想知道为什么它不使用此权限以及它(或一般的 VPN 应用程序)如何提供 VPN 服务?
** Hola 在清单文件中的权限:
- android.permission.RECEIVE_BOOT_COMPLETED
- android.permission.READ_EXTERNAL_STORAGE
- android.permission.WRITE_EXTERNAL_STORAGE
- android.permission.GET_ACCOUNTS
- android.permission.READ_PHONE_STATE
- android.permission.INTERNET
- android.permission.ACCESS_NETWORK_STATE
- android.permission.GET_TASKS
- android.permission.SYSTEM_ALERT_WINDOW
- android.permission.MODIFY_AUDIO_SETTINGS
- android.permission.WAKE_LOCK
- com.google.android.c2dm.permission.RECEIVE
- org.hola.permission.C2D_MESSAGE
- com.android.browser.permission.READ_HISTORY_BOOKMARKS
- com.android.browser.permission.WRITE_HISTORY_BOOKMARKS
- android.permission.ACCESS_FINE_LOCATION
I want to know why it does not use this permission
因为它不需要权限,这很好,因为它不能持有权限。 BIND_VPN_SERVICE
是 signature
级权限。
引用 the documentation for BIND_VPN_SERVICE
,并强调:
Must be required by a VpnService, to ensure that only the system can bind to it.
您应该在应用清单中找到 BIND_VPN_SERVICE
的地方是 而不是 <uses-permission>
元素中的 ,而是 android:permission
属性中用于 VpnService
实现的 <service>
元素。该应用正在保护一个使用权限的组件,而不是使用与其他应用对话的权限。
我正在分析 Android VPN 应用程序(例如 Hola**)的权限使用情况。据Google官方手册(http://developer.android.com/reference/android/Manifest.permission.html)规定,VPN应用程序必须使用BIND_VPN_SERVICE权限,但Hola并未在其Manifest文件中进行统计。我想知道为什么它不使用此权限以及它(或一般的 VPN 应用程序)如何提供 VPN 服务?
** Hola 在清单文件中的权限:
- android.permission.RECEIVE_BOOT_COMPLETED
- android.permission.READ_EXTERNAL_STORAGE
- android.permission.WRITE_EXTERNAL_STORAGE
- android.permission.GET_ACCOUNTS
- android.permission.READ_PHONE_STATE
- android.permission.INTERNET
- android.permission.ACCESS_NETWORK_STATE
- android.permission.GET_TASKS
- android.permission.SYSTEM_ALERT_WINDOW
- android.permission.MODIFY_AUDIO_SETTINGS
- android.permission.WAKE_LOCK
- com.google.android.c2dm.permission.RECEIVE
- org.hola.permission.C2D_MESSAGE
- com.android.browser.permission.READ_HISTORY_BOOKMARKS
- com.android.browser.permission.WRITE_HISTORY_BOOKMARKS
- android.permission.ACCESS_FINE_LOCATION
I want to know why it does not use this permission
因为它不需要权限,这很好,因为它不能持有权限。 BIND_VPN_SERVICE
是 signature
级权限。
引用 the documentation for BIND_VPN_SERVICE
,并强调:
Must be required by a VpnService, to ensure that only the system can bind to it.
您应该在应用清单中找到 BIND_VPN_SERVICE
的地方是 而不是 <uses-permission>
元素中的 ,而是 android:permission
属性中用于 VpnService
实现的 <service>
元素。该应用正在保护一个使用权限的组件,而不是使用与其他应用对话的权限。