删除签名验证会自动授予运行时权限吗?

时间:2019-04-25 12:07:09

标签: android permissions runtime signature verification

由于系统应用程序已使用与平台相同的密钥签名,因此无需用户交互即可获得其权限。

android:sharedUserId="android.uid.system" - can be used in manifest

在我的情况下,我无法访问平台密钥,因为ROM的存货来自大Sam Api 27+。这把我带到我的问题上。如何进行?

禁用签名验证是否可以为我的服务提供所需的权限?另一个解决方案是用自己的.images解压缩rom,并用我自己的系统对每个应用程序进行取消签名和重新签名,但这是一个非常笨拙的解决方案,因为我不确定创建AOSP修改的rom时要签名的内容。 >

设备是可生根的,但仅允许进行修改而不是最终目的,否则将达到目的。

我正在寻找指针,潜入哪里。也许有人曾经遇到过这个问题。

///删除dm-verity不起作用。考虑到此验证仅检查系统的完整性是否已更改,这是一个愚蠢的尝试。重新签名/ system / app /中的每个apk均无效。它使我的Android无法启动。最可能的原因是我没有更改其他文件签名。

1 个答案:

答案 0 :(得分:0)

解决方案在于修改services.jar中的签名验证方法

services.jar具有一个带有CompareSignature方法的PackageManagerService.smali。

.method static compareSignatures
    .locals 7
    const/4 v0, 0x0
    return v0
.end method

修改此方法并将其重新打包到我的设备后,我创建了一个应用程序进行测试,并获得了上面的权限。对此最重要的功能是我现在可以访问的系统权限。 具有“不供第三方应用程序使用”的所有功能。从这里 https://android.izzysoft.de/applists/perms

这是到目前为止我发现没有生根的唯一方法。我的测试设备是三星Galaxy S4 5.0.1,我不知道它是否可以在较新的设备上运行。