6.6.2 - Alpha - 增强 APK 文件 V1 签名方案的检测准确性
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"$data": {
|
||||
"v6.6.2": {
|
||||
"released_date": "2025/01/02",
|
||||
"released_date": "2025/01/03",
|
||||
"improvement": [
|
||||
"精简打包应用模板 APK 文件大小",
|
||||
"打包页面支持 Pinyin 库选项",
|
||||
|
||||
@@ -24,6 +24,8 @@ import org.autojs.autojs.util.IntentUtils
|
||||
import org.autojs.autojs6.R
|
||||
import org.autojs.autojs6.databinding.ApkFileInfoDialogListItemBinding
|
||||
import java.io.File
|
||||
import java.util.jar.JarEntry
|
||||
import java.util.jar.JarFile
|
||||
|
||||
object ApkInfoDialogManager {
|
||||
|
||||
@@ -207,7 +209,7 @@ object ApkInfoDialogManager {
|
||||
private fun getApkSignatureInfo(apkFile: File): String? = runCatching {
|
||||
ApkVerifier.Builder(apkFile).build().verify().run {
|
||||
listOfNotNull(
|
||||
"V1".takeIf { isVerifiedUsingV1Scheme },
|
||||
"V1".takeIf { isVerifiedUsingV1Scheme || hasV1Signature(apkFile) },
|
||||
"V2".takeIf { isVerifiedUsingV2Scheme },
|
||||
"V3".takeIf { isVerifiedUsingV3Scheme },
|
||||
"V4".takeIf { isVerifiedUsingV4Scheme },
|
||||
@@ -215,6 +217,27 @@ object ApkInfoDialogManager {
|
||||
}
|
||||
}.getOrNull()
|
||||
|
||||
private fun hasV1Signature(apkFile: File): Boolean {
|
||||
if (!apkFile.isFile) return false
|
||||
JarFile(apkFile).use { jar ->
|
||||
var hasManifest = false
|
||||
var hasSF = false
|
||||
var hasRSA = false
|
||||
for (entry: JarEntry in jar.entries()) {
|
||||
val name = entry.name.uppercase()
|
||||
when {
|
||||
name == "META-INF/MANIFEST.MF" -> hasManifest = true
|
||||
name.endsWith(".SF") && name.startsWith("META-INF/") -> hasSF = true
|
||||
name.endsWith(".RSA") && name.startsWith("META-INF/") -> hasRSA = true
|
||||
}
|
||||
if (hasManifest && hasSF && hasRSA) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
private data class ApkInfo(
|
||||
val label: String?,
|
||||
val packageName: String?,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#Fri Jan 03 16:34:34 CST 2025
|
||||
BUILD_TIME=1735893274360
|
||||
#Fri Jan 03 18:02:21 CST 2025
|
||||
BUILD_TIME=1735898541894
|
||||
COMPILE_SDK_VERSION=34
|
||||
JAVA_VERSION=23
|
||||
JAVA_VERSION_MIN_RADICAL=0
|
||||
@@ -17,6 +17,6 @@ RAPID_OCR_OPENCV_MOBILE_LABEL_VERSION=13
|
||||
RAPID_OCR_OPENCV_MOBILE_VERSION=4.5.3
|
||||
TARGET_SDK_VERSION=34
|
||||
TARGET_SDK_VERSION_INRT=29
|
||||
VERSION_BUILD=2955
|
||||
VERSION_BUILD=2956
|
||||
VERSION_NAME=6.6.2 Alpha
|
||||
VSCODE_EXT_REQUIRED_VERSION=1.0.8
|
||||
|
||||
Reference in New Issue
Block a user