From 20952db304d0f71e1ce25f3b82114bbadff1ad4a Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 20 六月 2025 16:51:54 +0800
Subject: [PATCH] feat(generallibrary): 补充补卡功能
---
generallibrary/src/main/cpp/general-native-lib.cpp | 38 +++++++++++++++++++-------------------
1 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/generallibrary/src/main/cpp/general-native-lib.cpp b/generallibrary/src/main/cpp/general-native-lib.cpp
index e961a69..b5254cc 100644
--- a/generallibrary/src/main/cpp/general-native-lib.cpp
+++ b/generallibrary/src/main/cpp/general-native-lib.cpp
@@ -96,19 +96,19 @@
return nullptr;
}
- __android_log_print(ANDROID_LOG_INFO, "GeBaseHelper", "Decrypting sector %d", sector);
- __android_log_print(ANDROID_LOG_INFO, "GeBaseHelper", "Encrypted data: %02X %02X %02X %02X %02X %02X",
- encrypted_data[0], encrypted_data[1], encrypted_data[2],
- encrypted_data[3], encrypted_data[4], encrypted_data[5]);
- __android_log_print(ANDROID_LOG_INFO, "GeBaseHelper", "Using XOR key: %02X %02X %02X %02X %02X %02X",
- XOR_KEYS[sector][0], XOR_KEYS[sector][1], XOR_KEYS[sector][2],
- XOR_KEYS[sector][3], XOR_KEYS[sector][4], XOR_KEYS[sector][5]);
+// __android_log_print(ANDROID_LOG_INFO, "GeBaseHelper", "Decrypting sector %d", sector);
+// __android_log_print(ANDROID_LOG_INFO, "GeBaseHelper", "Encrypted data: %02X %02X %02X %02X %02X %02X",
+// encrypted_data[0], encrypted_data[1], encrypted_data[2],
+// encrypted_data[3], encrypted_data[4], encrypted_data[5]);
+// __android_log_print(ANDROID_LOG_INFO, "GeBaseHelper", "Using XOR key: %02X %02X %02X %02X %02X %02X",
+// XOR_KEYS[sector][0], XOR_KEYS[sector][1], XOR_KEYS[sector][2],
+// XOR_KEYS[sector][3], XOR_KEYS[sector][4], XOR_KEYS[sector][5]);
unsigned char decrypted[6];
for (int i = 0; i < 6; i++) {
decrypted[i] = encrypted_data[i] ^ XOR_KEYS[sector][i];
- __android_log_print(ANDROID_LOG_INFO, "GeBaseHelper", "Byte %d: %02X ^ %02X = %02X",
- i, encrypted_data[i], XOR_KEYS[sector][i], decrypted[i]);
+// __android_log_print(ANDROID_LOG_INFO, "GeBaseHelper", "Byte %d: %02X ^ %02X = %02X",
+// i, encrypted_data[i], XOR_KEYS[sector][i], decrypted[i]);
}
std::string result;
@@ -119,7 +119,7 @@
result += hex;
}
- __android_log_print(ANDROID_LOG_INFO, "GeBaseHelper", "Decrypted result: %s", result.c_str());
+// __android_log_print(ANDROID_LOG_INFO, "GeBaseHelper", "Decrypted result: %s", result.c_str());
return env->NewStringUTF(result.c_str());
}
@@ -187,7 +187,7 @@
jobject packageInfoObject = env->CallObjectMethod(packageManagerObject, getPackageInfoId,
packNameString, 64);
if (!packageInfoObject) {
- __android_log_print(ANDROID_LOG_ERROR, "M1Card", "Failed to get PackageInfo");
+// __android_log_print(ANDROID_LOG_ERROR, "M1Card", "Failed to get PackageInfo");
return env->NewStringUTF("");
}
@@ -195,7 +195,7 @@
jfieldID signaturefieldID = env->GetFieldID(packageInfoClass, "signatures",
"[Landroid/content/pm/Signature;");
if (!signaturefieldID) {
- __android_log_print(ANDROID_LOG_ERROR, "M1Card", "Failed to get signature field ID");
+// __android_log_print(ANDROID_LOG_ERROR, "M1Card", "Failed to get signature field ID");
return env->NewStringUTF("");
}
@@ -203,28 +203,28 @@
jobjectArray signatureArray = (jobjectArray) env->GetObjectField(packageInfoObject,
signaturefieldID);
if (!signatureArray || env->GetArrayLength(signatureArray) == 0) {
- __android_log_print(ANDROID_LOG_ERROR, "M1Card", "No signatures found");
+// __android_log_print(ANDROID_LOG_ERROR, "M1Card", "No signatures found");
return env->NewStringUTF("");
}
// 鑾峰彇绗竴涓鍚嶅璞�
jobject signatureObject = env->GetObjectArrayElement(signatureArray, 0);
if (!signatureObject) {
- __android_log_print(ANDROID_LOG_ERROR, "M1Card", "Failed to get signature object");
+// __android_log_print(ANDROID_LOG_ERROR, "M1Card", "Failed to get signature object");
return env->NewStringUTF("");
}
// 鑾峰彇绛惧悕瀛楃涓�
jstring signatureString = (jstring) env->CallObjectMethod(signatureObject, signToStringId);
if (!signatureString) {
- __android_log_print(ANDROID_LOG_ERROR, "M1Card", "Failed to get signature string");
+// __android_log_print(ANDROID_LOG_ERROR, "M1Card", "Failed to get signature string");
return env->NewStringUTF("");
}
// 鑾峰彇绛惧悕瀛楃涓茬殑UTF-8瀛楃
const char *signStrng = env->GetStringUTFChars(signatureString, 0);
if (!signStrng) {
- __android_log_print(ANDROID_LOG_ERROR, "M1Card", "Failed to get signature UTF chars");
+// __android_log_print(ANDROID_LOG_ERROR, "M1Card", "Failed to get signature UTF chars");
return env->NewStringUTF("");
}
@@ -240,11 +240,11 @@
// 瑙e瘑骞惰浆鎹㈡瘡涓墖鍖哄瘑閽�
for (size_t i = 0; i < numKeys; i++) {
- __android_log_print(ANDROID_LOG_DEBUG, "M1Card", "澶勭悊鎵囧尯 %zu 鐨勫瘑閽�", i);
+// __android_log_print(ANDROID_LOG_DEBUG, "M1Card", "澶勭悊鎵囧尯 %zu 鐨勫瘑閽�", i);
// 纭繚涓嶄細瓒婄晫璁块棶
if (i * 12 + 6 > sizeof(ENCRYPTED_SECTOR_KEYS)) {
- __android_log_print(ANDROID_LOG_ERROR, "M1Card", "Index out of bounds");
+// __android_log_print(ANDROID_LOG_ERROR, "M1Card", "Index out of bounds");
break;
}
@@ -252,7 +252,7 @@
jstring decrypted_str = decrypt_key(env, ENCRYPTED_SECTOR_KEYS + (i * 12), 6);
if (!decrypted_str) {
- __android_log_print(ANDROID_LOG_ERROR, "M1Card", "Failed to decrypt key for sector %zu", i);
+// __android_log_print(ANDROID_LOG_ERROR, "M1Card", "Failed to decrypt key for sector %zu", i);
continue;
}
--
Gitblit v1.8.0