Andoird11版本对后装apk添加包名和签名校验

针对Android11系统中静默安装APK的安全问题,通过包名匹配与系统签名验证来确保安装应用的安全性,避免第三方应用恶意篡改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

软件平台:Android 11

硬件平台:展锐

        具体需求:android系统起来后,会有apk后台静默安装一些apk,为了防止三方apk恶意篡改安装,添加了如下处理逻辑,包括包名匹配校验和系统签名校验:

--- a/frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -17501,6 +17501,16 @@ public class PackageManagerService extends PackageManagerServiceExAbs
                     "Instant app package must be signed with APK Signature Scheme v2 or greater");
         }
 
+        //block 3rd app with no platform signature
+        boolean platformPackage = mPlatformPackage != null
+                    && compareSignatures(mPlatformPackage.getSigningDetails().signatures,
+                parsedPackage.getSigningDetails().signatures) == PackageManager.SIGNATURE_MATCH;
+        if (android.os.Build.IS_USER && (pkgName == null
+                || !pkgName.startsWith("com.tal.xpp")
+                || !platformPackage)) {
+            throw new PrepareFailure(-1000, "install package not allowed!");
+        }
+
         boolean systemApp = false;
         boolean replace = false;
         synchronized (mLock) {

专门防止三方软件,盗取包名后台安装替换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值