空道 发表于 2014-11-6 14:58:06

绕过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

飘云 发表于 2014-11-6 17:00:30

努比亚啊,空道神{:soso_e113:}

这是要HOOK么? 放点hook资料吧。。

Rooking 发表于 2014-11-6 17:06:01

排队做沙发膜拜空道大师

GGLHY 发表于 2014-11-6 17:07:29

空道大神V5

creantan 发表于 2014-11-6 17:13:52

学习下android。。

crackvip 发表于 2014-11-6 17:41:36

围观围观。。。。

VC8 发表于 2014-11-6 17:44:24

膜拜神

gujin162 发表于 2014-11-6 17:48:53

楼主威武,不错额

落叶枫林 发表于 2014-11-6 18:23:34

没试过啊啊啊

阳光宅男 发表于 2014-11-6 18:44:35

膜拜额
页: [1] 2 3 4 5
查看完整版本: 绕过Apk签名检测