【问题标题】:How to bypass permissions on a rooted device?如何绕过root设备的权限?
【发布时间】:2022-03-14 00:25:01
【问题描述】:

我正在为媒体框创建一个安卓应用。该框已植根。我必须绕过权限(运行时权限),因为用户不会与设备交互。我尝试将 apk 推送到 system/priv-app 文件夹中以使其成为系统应用程序。尽管如此,每当我的应用程序启动时,它都会请求权限。有没有办法绕过root设备中的权限?我使用以下命令将 APK 推送到 priv-app 文件夹。

adb remount
adb push apk-filename-here /system/app/
adb shell chmod 644 /system/app/apk-filename-here
adb reboot

应用程序看起来像系统应用程序,因为它现在不可卸载。但是权限问题仍然存在。授予所有权限是否需要做任何额外的事情?请帮忙。

我也试过bypass android usb host permission confirmation dialog,但现在这似乎是一个非常古老的故事了。

【问题讨论】:

    标签: android


    【解决方案1】:

    某些权限是签名级别的,这意味着除非您的应用使用与系统其余部分签名相同的密钥进行签名,否则无法授予这些权限。如果您需要其中任何一个,那么您几乎无能为力,除非相关 API 有 shell-command 替代方案。

    其他权限是特权级别的,这意味着只有当应用位于 /system/priv-app/ 时才会授予它们。您没有提到您正在使用哪些权限,但我建议您将应用程序放在 priv-app 而不是 app 中。如果此设备使用 Lollipop 或更高版本,则应用程序应在 priv-app 内包含一个子文件夹(例如 /system/priv-app/SomeApp/SomeApp.apk)。

    第三种是app-op权限。这些不是运行时权限,但可以通过 shell 命令授予:

    cmd appops set <PACKAGE> <OP> <MODE>
    

    例如,授予SYSTEM_ALERT_WINDOW 权限:

    cmd appops set com.some.package android:system_alert_window allow
    

    第四类是运行时/开发权限。两者都可以通过以下方式授予:

    pm grant <PACKAGE> <PERMISSION>
    

    例如授予WRITE_EXTERNAL_STORAGE:

    pm grant com.some.package android.permission.WRITE_EXTERNAL_STORAGE
    

    您可以通过查看平台AndroidManifest.xml 来检查您的权限类型。找到您的许可并检查protectionLevel 字段。

    • signature 表示签名
    • privileged 表示特权
    • development 表示发展
    • dangerous 表示运行时
    • normal 权限将被自动授予

    某些权限,例如WRITE_SECURE_SETTINGS 具有多个保护级别:signature|privileged|development

    如果满足其中任何一个条件,Android 将向您的应用授予权限。使用 WSS,您可以将应用程序放入 priv-app 或使用 pm grant。无论哪种方式都可以让您访问。

    如果权限的保护级别同时具有appopsdevelopment,例如PACKAGE_USAGE_STATS,请小心。使用cmd appops 将为某些功能授予该权限,而pm grant 将为其他功能授予该权限。

    【讨论】:

    • 感谢您的回复。以下是应用所需的权限列表:WRITE_EXTERNAL_STORAGE、MANAGE_USB、ACCESS_FINE_LOCATION 和 ACCESS_NETWORK_STATE。
    • 所以在清单中查找它们并使用适当的操作来授予它们,如果可能的话。
    • 谢谢,但我仍然遇到同样的问题。即使我将我的应用程序放在 priv-app 文件夹中,它也会要求“特权”权限。 “MANAGE_USB”权限属于“Privileged”组。因此,它应该自动授予。但是,在我的情况下并没有发生同样的情况。在这种情况下我是否也必须明确授予许可?
    • 它要求吗?这不是运行时权限,您无法自行授予。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-11
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多