绕过Apk签名检测
在破解apk 的时候经常会碰到一些 签名检测的程序.如果我们可以使用 原始的签名 而又能随意修改文件, 这个就能很好的突破检测,这里我是通过修改系统 /system/framework 目录的模块patch签名检测点1.PatchApk签名校验
源码文件路径
/android/libcore/luni/src/main/java/java/util/jar/JarVerifier.java
////verify函数 此函数在core.dex 模块中
void verify() {
byte[] d = digest.digest();
///让if 条件永远为 假
if (!MessageDigest.isEqual(d, Base64.decode(hash))) {
throw invalidDigest(JarFile.MANIFEST_NAME, name, jarName);
}
verifiedEntries.put(name, certificates);
}
2. Patch覆盖安装
//文件路径被编译到
/android/cm/frameworks/base/services/java/com/android/server/pm/PackageManagerService.java
//函数 在 services.dex 模块中
1.replacePackageLI
2.verifySignaturesLP
///Patch 点可将 if中的 条件让其永远不成立
//////replacePackageLI
synchronized(mPackages) {
oldPackage = mPackages.get(pkgName);
///让if 条件永远为 假
if (compareSignatures(oldPackage.mSignatures, pkg.mSignatures)
!= PackageManager.SIGNATURE_MATCH) {
res.returnCode = PackageManager.INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES;
return;
}
}
///////////verifySignaturesLP 函数直接返回 true
测试环境
手机: NX403A
系统: 4.2.2
内核版本: 3.4.0
版本号: NX403A_CNCommon_v0.09
努比亚啊,空道神{:soso_e113:}
这是要HOOK么? 放点hook资料吧。。 排队做沙发膜拜空道大师 空道大神V5 学习下android。。 围观围观。。。。 膜拜神 楼主威武,不错额 没试过啊啊啊 膜拜额