AI手机网,短视频直播 硬改改机 一键新机 群控软件 刷机定制

 找回密码
 立即注册
搜索
查看: 3107|回复: 6

修改android framework关掉app签名检查

[复制链接]
发表于 2019-3-28 08:45:07 | 显示全部楼层 |阅读模式
修改android framework关掉app签名检查
  1. 修改android framework关掉app签名检查
  2. https://android.googlesource.com/platform/frameworks/base/+/ccbf84f/services/java/com/android/server/pm/PackageManagerService.java

  3. 检查两个包的签名

  4.     public int checkSignatures(String pkg1, String pkg2) {
  5.         synchronized (mPackages) {
  6.             final PackageParser.Package p1 = mPackages.get(pkg1);
  7.             final PackageParser.Package p2 = mPackages.get(pkg2);
  8.             if (p1 == null || p1.mExtras == null
  9.                     || p2 == null || p2.mExtras == null) {
  10.                 return PackageManager.SIGNATURE_UNKNOWN_PACKAGE;
  11.             }
  12.             return compareSignatures(p1.mSignatures, p2.mSignatures);
  13.         }
  14.     }
  15. 如果是我们想豁免的包, 就不检查

  16.    
  17. public int checkUidSignatures(int uid1, int uid2) {
  18.         // Map to base uids.
  19.         uid1 = UserHandle.getAppId(uid1);
  20.         uid2 = UserHandle.getAppId(uid2);
  21. ....
  22.         return compareSignatures(s1, s2);
  23.         }
  24.     }
  25. 检查签名

  26.     static int compareSignatures(Signature[] s1, Signature[] s2) {
  27.         if (s1 == null) {
  28.             return s2 == null
  29.                     ? PackageManager.SIGNATURE_NEITHER_SIGNED
  30.                     : PackageManager.SIGNATURE_FIRST_NOT_SIGNED;
  31.         }
  32.         if (s2 == null) {
  33.             return PackageManager.SIGNATURE_SECOND_NOT_SIGNED;
  34.         }
  35.         HashSet set1 = new HashSet();
  36.         for (Signature sig : s1) {
  37.             set1.add(sig);
  38.         }
  39.         HashSet set2 = new HashSet();
  40.         for (Signature sig : s2) {
  41.             set2.add(sig);
  42.         }
  43.         // Make sure s2 contains all signatures in s1.
  44.         if (set1.equals(set2)) {
  45.             return PackageManager.SIGNATURE_MATCH;
  46.         }
  47.         return PackageManager.SIGNATURE_NO_MATCH;
  48.     }
  49. 如果需要用Frida进行Hook , 请参考
复制代码

发表于 2019-8-7 12:47:51 | 显示全部楼层
小手抖一抖金币送到手Q
发表于 2019-8-7 16:11:38 | 显示全部楼层
好东西大家齐分享~~~~~~~~~~D
发表于 2019-8-7 21:54:35 | 显示全部楼层
嗯,这个岁万想学习的Z
发表于 2019-8-8 06:17:06 | 显示全部楼层
;好苦恼S
回复

使用道具 举报

发表于 2019-8-8 09:51:18 | 显示全部楼层
我顶,我顶,万还顶Z
发表于 2019-9-22 10:56:20 | 显示全部楼层
这个着实厉害
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

技术交流售后群

QQ|小黑屋|手机版|站点找错-建议|AI手机网 |Sitemap



GMT+8, 2024-5-20 08:02 , Processed in 0.154113 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表