From 4d8bafd74f76ec76957c30e47c48996d7c084bed Mon Sep 17 00:00:00 2001 From: Harshit Shah Date: Fri, 21 Apr 2023 18:51:25 +0530 Subject: [PATCH] Remove mandatory original signature check (#185) We are unnecessary fetching original signature even when signature bypass level is not greater than 0. Due to which some apps which were not signed were failing to be patched with error "get original signature failed". --- patch/src/main/java/org/lsposed/patch/LSPatch.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/patch/src/main/java/org/lsposed/patch/LSPatch.java b/patch/src/main/java/org/lsposed/patch/LSPatch.java index 41b0b3a..420a5ea 100644 --- a/patch/src/main/java/org/lsposed/patch/LSPatch.java +++ b/patch/src/main/java/org/lsposed/patch/LSPatch.java @@ -205,11 +205,14 @@ public class LSPatch { throw new PatchError("Failed to register signer", e); } - final String originalSignature = ApkSignatureHelper.getApkSignInfo(srcApkFile.getAbsolutePath()); - if (originalSignature == null || originalSignature.isEmpty()) { - throw new PatchError("get original signature failed"); + String originalSignature = null; + if (sigbypassLevel > 0) { + originalSignature = ApkSignatureHelper.getApkSignInfo(srcApkFile.getAbsolutePath()); + if (originalSignature == null || originalSignature.isEmpty()) { + throw new PatchError("get original signature failed"); + } + logger.d("Original signature\n" + originalSignature); } - logger.d("Original signature\n" + originalSignature); // copy out manifest file from zlib var manifestEntry = srcZFile.get(ANDROID_MANIFEST_XML);