Android 13增加了新的apk签名校验机制,现在开机后会对所有系统分区(可能包括system、system_ext、vendor、product等分区)的apk也进行签名校验,这将导致如果你对apk进行修改,即使不重新签名,手机重启后也无法识别该apk。
破解A13的系统签名校验,主要是通过修改framework.jar中的代码,强迫系统调用旧版的签名验证方式。
🔵 准备工作:一台已经Root的装有A13系统的手机、MT管理器(或NP管理器、如果是电脑端也可以是baksmali和smali)
🔵 修改内容:提取/system/framework/framework.jar,在其dex中搜索“getMinimumSignature”,应当可以找到一个名为"getMinimumSignatureSchemeVersionForTargetSdk"的函数实现,找到其中"const/4 v0, 0x2"这行,把"2"改为"1"。保存,重编译,替换回去即可。注意不要重新签名。
🟢 Credits:关于以上方法,由于注意到Soul为OneUI5.0最新出的官改没有这个限制,于是反编译framework.jar与官方文件进行了比较得到的。
🟠 其他信息:目前只在OneUI5.0的A13上测试过,其他应当同理可用,可以自行测试。