From 2186a78aba55818258c824868c9b4405de8c54fe Mon Sep 17 00:00:00 2001 From: wlt233 <1486185683@qq.com> Date: Fri, 28 Apr 2023 10:27:20 +0800 Subject: [PATCH] add pmmtool to project --- app/CMakeLists.txt | 32 +++++ app/build.gradle | 9 ++ app/libs/arm64-v8a/libdobby.a | Bin 0 -> 234164 bytes app/libs/arm64-v8a/libdobby.so | Bin 0 -> 244832 bytes app/src/main/AndroidManifest.xml | 3 +- app/src/main/java/moe/tqlwsl/aicemu/xp.java | 129 +++++++++++++---- app/src/main/jni/dobby/dobby.h | 152 ++++++++++++++++++++ app/src/main/jni/main.cpp | 83 +++++++++++ app/src/main/jni/main.h | 18 +++ 9 files changed, 397 insertions(+), 29 deletions(-) create mode 100644 app/CMakeLists.txt create mode 100644 app/libs/arm64-v8a/libdobby.a create mode 100644 app/libs/arm64-v8a/libdobby.so create mode 100644 app/src/main/jni/dobby/dobby.h create mode 100644 app/src/main/jni/main.cpp create mode 100644 app/src/main/jni/main.h diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt new file mode 100644 index 0000000..933c53e --- /dev/null +++ b/app/CMakeLists.txt @@ -0,0 +1,32 @@ +cmake_minimum_required(VERSION 3.10.2) + + +include_directories( + src/main/jni/dobby +) +enable_language(C ASM) + + +add_library( + pmm + SHARED + src/main/jni/main.cpp +) + +include_directories(dobby) +add_library(local_dobby STATIC IMPORTED) +set_target_properties(local_dobby PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/libs/${ANDROID_ABI}/libdobby.a) + + +find_library( + log-lib + log +) + +find_library(android-lib android) +target_link_libraries( + pmm + local_dobby + ${log-lib} + ${android-lib} +) diff --git a/app/build.gradle b/app/build.gradle index b28183d..9cae024 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -27,6 +27,15 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } + externalNativeBuild { + defaultConfig.externalNativeBuild.cmake { + abiFilters 'arm64-v8a' + } + cmake { + path file('CMakeLists.txt') + version '3.22.1' + } + } kotlinOptions { jvmTarget = '1.8' } diff --git a/app/libs/arm64-v8a/libdobby.a b/app/libs/arm64-v8a/libdobby.a new file mode 100644 index 0000000000000000000000000000000000000000..f3e13562bdcc59a0ab3b48bcfc38606a37129895 GIT binary patch literal 234164 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 Y=wArNHg6`W&;@ry7Zk;q=8^vY0l+7#K>z>% literal 0 HcmV?d00001 diff --git a/app/libs/arm64-v8a/libdobby.so b/app/libs/arm64-v8a/libdobby.so new file mode 100644 index 0000000000000000000000000000000000000000..a7e5fb5fd4c922dbf754d1016e598f54f7976a4b GIT binary patch literal 244832 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 + android:value="Emulate Every AIC Card" /> diff --git a/app/src/main/java/moe/tqlwsl/aicemu/xp.java b/app/src/main/java/moe/tqlwsl/aicemu/xp.java index 10ab1dd..855dbc8 100644 --- a/app/src/main/java/moe/tqlwsl/aicemu/xp.java +++ b/app/src/main/java/moe/tqlwsl/aicemu/xp.java @@ -1,7 +1,13 @@ package moe.tqlwsl.aicemu; +import android.app.Application; +import android.content.Context; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; import android.util.Log; +import java.util.List; + import de.robv.android.xposed.IXposedHookLoadPackage; import de.robv.android.xposed.XC_MethodHook; import de.robv.android.xposed.XC_MethodReplacement; @@ -10,41 +16,45 @@ import de.robv.android.xposed.XposedHelpers; import de.robv.android.xposed.callbacks.XC_LoadPackage; public class xp implements IXposedHookLoadPackage { - private final String TAG = "AICEmu"; + private final String TAG = "AICEmu-Xposed"; + ClassLoader mclassloader = null; + Context mcontext = null; // from https://github.com/OLIET2357/HCEFUnlocker @Override public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable { + XposedBridge.log("In " + lpparam.packageName); - if (lpparam.packageName.equals("com.android.nfc")) { - XposedHelpers.findAndHookMethod("android.nfc.cardemulation.NfcFCardEmulation", lpparam.classLoader, - "isValidSystemCode", String.class, new XC_MethodReplacement() { - @Override - protected Object replaceHookedMethod(XC_MethodHook.MethodHookParam param) throws Throwable { - String systemCode = (String) param.args[0]; - if (systemCode == null) { - return false; - } + if (lpparam.packageName.equals("com.android.nfc")) { - if (systemCode.length() != 4) { - Log.e(TAG, "System Code " + systemCode + " is not a valid System Code."); - return false; - } - // check if the value is between "4000" and "4FFF" (excluding "4*FF") - if (!systemCode.startsWith("4") || systemCode.toUpperCase().endsWith("FF")) { - // Log.e(TAG, "System Code " + systemCode + " is not a valid System Code."); - // return false; - } - try { - Integer.parseInt(systemCode, 16); - } catch (NumberFormatException e) { - Log.e(TAG, "System Code " + systemCode + " is not a valid System Code."); - return false; - } - return true; - } - }); +// XposedHelpers.findAndHookMethod("android.nfc.cardemulation.NfcFCardEmulation", lpparam.classLoader, +// "isValidSystemCode", String.class, new XC_MethodReplacement() { +// @Override +// protected Object replaceHookedMethod(XC_MethodHook.MethodHookParam param) throws Throwable { +// String systemCode = (String) param.args[0]; +// if (systemCode == null) { +// return false; +// } +// +// if (systemCode.length() != 4) { +// Log.e(TAG, "System Code " + systemCode + " is not a valid System Code."); +// return false; +// } +// // check if the value is between "4000" and "4FFF" (excluding "4*FF") +// if (!systemCode.startsWith("4") || systemCode.toUpperCase().endsWith("FF")) { +// // Log.e(TAG, "System Code " + systemCode + " is not a valid System Code."); +// // return false; +// } +// try { +// Integer.parseInt(systemCode, 16); +// } catch (NumberFormatException e) { +// Log.e(TAG, "System Code " + systemCode + " is not a valid System Code."); +// return false; +// } +// return true; +// } +// }); XposedHelpers.findAndHookMethod("android.nfc.cardemulation.NfcFCardEmulation", lpparam.classLoader, "isValidNfcid2", String.class, new XC_MethodReplacement() { @@ -73,7 +83,70 @@ public class xp implements IXposedHookLoadPackage { } }); + XposedHelpers.findAndHookMethod("com.android.nfc.NfcApplication", + lpparam.classLoader, "onCreate", new XC_MethodHook() { + @Override + protected void beforeHookedMethod(XC_MethodHook.MethodHookParam param) throws Throwable { + XposedBridge.log("Inside com.android.nfc.NfcApplication#onCreate"); + super.beforeHookedMethod(param); + Application application = (Application) param.thisObject; + mcontext = application.getApplicationContext(); + XposedBridge.log("Got context"); + } + }); + + + XposedHelpers.findAndHookMethod("android.nfc.cardemulation.NfcFCardEmulation", + lpparam.classLoader, "isValidSystemCode", String.class, new XC_MethodHook() { + @Override + protected void afterHookedMethod(XC_MethodHook.MethodHookParam param) throws Throwable { + super.afterHookedMethod(param); + XposedBridge.log("Inside android.nfc.cardemulation.NfcFCardEmulation#isValidSystemCode"); + XposedBridge.log("Got classloader"); + String path = getSoPath(); + XposedBridge.log("So path = " + path); + int version = android.os.Build.VERSION.SDK_INT; + try { + if (!path.equals("")) { + XposedBridge.log("Start injecting libpmm.so"); + if (version >= 28) { + XposedHelpers.callMethod(Runtime.getRuntime(), "nativeLoad", path, mclassloader); + } else { + XposedHelpers.callMethod(Runtime.getRuntime(), "doLoad", path, mclassloader); + } + XposedBridge.log("Injected libpmm.so"); + } + } catch (Exception e) { + XposedBridge.log(e); + e.printStackTrace(); + } + + // Unlocker + param.setResult(true); + } + }); + XposedBridge.log("Hook succeeded!!!"); } } + + private String getSoPath() { + try { + String text = ""; + PackageManager pm = mcontext.getPackageManager(); + List pkgList = pm.getInstalledPackages(0); + if (pkgList.size() > 0) { + for (PackageInfo pi: pkgList) { + if (pi.applicationInfo.publicSourceDir.contains("moe.tqlwsl.aicemu")) { + text = pi.applicationInfo.publicSourceDir.replace("base.apk", "lib/arm64/libpmm.so"); + return text; + } + } + } + } catch (Exception e) { + XposedBridge.log(e); + e.printStackTrace(); + } + return ""; + } } diff --git a/app/src/main/jni/dobby/dobby.h b/app/src/main/jni/dobby/dobby.h new file mode 100644 index 0000000..745b798 --- /dev/null +++ b/app/src/main/jni/dobby/dobby.h @@ -0,0 +1,152 @@ +#ifndef dobby_h +#define dobby_h + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +typedef uintptr_t addr_t; +typedef uint32_t addr32_t; +typedef uint64_t addr64_t; + +typedef void *dobby_dummy_func_t; +typedef void *asm_func_t; + +#if defined(__arm__) +typedef struct { + uint32_t dummy_0; + uint32_t dummy_1; + + uint32_t dummy_2; + uint32_t sp; + + union { + uint32_t r[13]; + struct { + uint32_t r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12; + } regs; + } general; + + uint32_t lr; +} DobbyRegisterContext; +#elif defined(__arm64__) || defined(__aarch64__) +#define ARM64_TMP_REG_NDX_0 17 + +typedef union _FPReg { + __int128_t q; + struct { + double d1; + double d2; + } d; + struct { + float f1; + float f2; + float f3; + float f4; + } f; +} FPReg; + +// register context +typedef struct { + uint64_t dmmpy_0; // dummy placeholder + uint64_t sp; + + uint64_t dmmpy_1; // dummy placeholder + union { + uint64_t x[29]; + struct { + uint64_t x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, + x23, x24, x25, x26, x27, x28; + } regs; + } general; + + uint64_t fp; + uint64_t lr; + + union { + FPReg q[32]; + struct { + FPReg q0, q1, q2, q3, q4, q5, q6, q7; + // [!!! READ ME !!!] + // for Arm64, can't access q8 - q31, unless you enable full floating-point register pack + FPReg q8, q9, q10, q11, q12, q13, q14, q15, q16, q17, q18, q19, q20, q21, q22, q23, q24, q25, q26, q27, q28, q29, + q30, q31; + } regs; + } floating; +} DobbyRegisterContext; +#elif defined(_M_IX86) || defined(__i386__) +typedef struct _RegisterContext { + uint32_t dummy_0; + uint32_t esp; + + uint32_t dummy_1; + uint32_t flags; + + union { + struct { + uint32_t eax, ebx, ecx, edx, ebp, esp, edi, esi; + } regs; + } general; + +} DobbyRegisterContext; +#elif defined(_M_X64) || defined(__x86_64__) +typedef struct { + uint64_t dummy_0; + uint64_t rsp; + + union { + struct { + uint64_t rax, rbx, rcx, rdx, rbp, rsp, rdi, rsi, r8, r9, r10, r11, r12, r13, r14, r15; + } regs; + } general; + + uint64_t dummy_1; + uint64_t flags; +} DobbyRegisterContext; +#endif + +#define install_hook_name(name, fn_ret_t, fn_args_t...) \ + static fn_ret_t fake_##name(fn_args_t); \ + static fn_ret_t (*orig_##name)(fn_args_t); \ + /* __attribute__((constructor)) */ static void install_hook_##name(void *sym_addr) { \ + DobbyHook(sym_addr, (dobby_dummy_func_t)fake_##name, (dobby_dummy_func_t *)&orig_##name); \ + return; \ + } \ + fn_ret_t fake_##name(fn_args_t) + +// memory code patch +int DobbyCodePatch(void *address, uint8_t *buffer, uint32_t buffer_size); + +// function inline hook +int DobbyHook(void *address, dobby_dummy_func_t replace_func, dobby_dummy_func_t *origin_func); + +// dynamic binary instruction instrument +// for Arm64, can't access q8 - q31, unless enable full floating-point register pack +typedef void (*dobby_instrument_callback_t)(void *address, DobbyRegisterContext *ctx); +int DobbyInstrument(void *address, dobby_instrument_callback_t pre_handler); + +// destroy and restore code patch +int DobbyDestroy(void *address); + +const char *DobbyGetVersion(); + +// symbol resolver +void *DobbySymbolResolver(const char *image_name, const char *symbol_name); + +// import table replace +int DobbyImportTableReplace(char *image_name, char *symbol_name, dobby_dummy_func_t fake_func, + dobby_dummy_func_t *orig_func); + +// for arm, Arm64, try use b xxx instead of ldr absolute indirect branch +// for x86, x64, always use absolute indirect jump +void dobby_enable_near_branch_trampoline(); +void dobby_disable_near_branch_trampoline(); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/app/src/main/jni/main.cpp b/app/src/main/jni/main.cpp new file mode 100644 index 0000000..182a1e7 --- /dev/null +++ b/app/src/main/jni/main.cpp @@ -0,0 +1,83 @@ + +#include "main.h" +#include + +char buff[30]; +char pmm_str[30]; +char target_pmm[8] = {0x00, 0xf1, 0x00, 0x00, 0x00, 0x01, 0x43, 0x00}; + +void *new_func(u_int8_t a1, u_int8_t *a2, int a3) { + + __android_log_print(6, "AICEmu-pmmtool", "hook _Z23nfa_dm_check_set_confighPhb arg0->%x arg1->%x", a1, a2); + + // if (a1 == 0x1d) { // hardcoded arg pattern + // 40 0a [syscode] [IDm] 53 02 01 00 55 01 01 51 08 [PMm] + // if (a1 == 0x1b) { // another type hardcoded arg pattern + // 40 12 [syscode] [IDm] [PMm] 53 02 01 00 55 01 01 + + // handmade hexdump + for (int i = 0x0; i < 0x10; ++i) + sprintf(buff + i * 3, "%02x ", *(char *)(a2 + i)); + __android_log_print(6, "AICEmu-pmmtool", "[%x]: %s", a2, buff); + for (int i = 0x0; i < 0x10; ++i) + sprintf(buff + i * 3, "%02x ", *(char *)(a2 + 0x10 + i)); + __android_log_print(6, "AICEmu-pmmtool", "[%x]: %s", a2 + 0x10, buff); + + // look for 51 08 (set pmm command) for type 0x1d + for (int i = 0x0; i < 0x20; ++i) { + if (*(char *)(a2 + i) == 0x51 && *(char *)(a2 + i + 1) == 0x08) { + + for (int j = 0; j < 8; ++j) + sprintf(pmm_str + j * 3, "%02x ", *(char *)(a2 + i + 2 + j)); + __android_log_print(6, "AICEmu-pmmtool", "[1] old PMm: %s", pmm_str); + + // set + for (int j = 0; j < 8; ++j) + *(char *)(a2 + i + 2 + j) = target_pmm[j]; + + for (int j = 0; j < 8; ++j) + sprintf(pmm_str + j * 3, "%02x ", *(char *)(a2 + i + 2 + j)); + __android_log_print(6, "AICEmu-pmmtool", "[1] new PMm: %s", pmm_str); + } + } + + // look for FF FF FF FF FF FF FF FF (pmm itself) + for (int i = 0x0; i < 0x20; ++i) { + if (*(char *)(a2 + i) == 0xff && *(char *)(a2 + i + 1) == 0xff + && *(char *)(a2 + i + 2) == 0xff && *(char *)(a2 + i + 3) == 0xff + && *(char *)(a2 + i + 4) == 0xff && *(char *)(a2 + i + 5) == 0xff + && *(char *)(a2 + i + 6) == 0xff && *(char *)(a2 + i + 7) == 0xff) { + + for (int j = 0; j < 8; ++j) + sprintf(pmm_str + j * 3, "%02x ", *(char *)(a2 + i + j)); + __android_log_print(6, "AICEmu-pmmtool", "[2] old PMm: %s", pmm_str); + + // set + for (int j = 0; j < 8; ++j) + *(char *)(a2 + i + j) = target_pmm[j]; + + for (int j = 0; j < 8; ++j) + sprintf(pmm_str + j * 3, "%02x ", *(char *)(a2 + i + j)); + __android_log_print(6, "AICEmu-pmmtool", "[2] new PMm: %s", pmm_str); + } + } + //} + //__android_log_print(6, "pmmtool", "load old func"); + void *result = old_func(a1, a2, a3); + //__android_log_print(6, "pmmtool", "hook result -> %x", result); + return result; +} + +jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) { + __android_log_print(6, "AICEmu-pmmtool", "Inside JNI_OnLoad"); + JNIEnv *env = nullptr; + if (vm->GetEnv((void **) &env, JNI_VERSION_1_6) == JNI_OK) { + //void *func_addr = DobbySymbolResolver("libnfc-nci.so", "_Z23nfa_dm_check_set_confighPhb"); + void *func_addr = DobbySymbolResolver(NULL, "_Z23nfa_dm_check_set_confighPhb"); + __android_log_print(6, "AICEmu-pmmtool", "_Z23nfa_dm_check_set_confighPhb addr->%x", func_addr); + DobbyHook(func_addr, (void *) new_func, (void **) &old_func); + __android_log_print(6, "AICEmu-pmmtool", "Dobby hooked"); + return JNI_VERSION_1_6; + } + return 0; +} diff --git a/app/src/main/jni/main.h b/app/src/main/jni/main.h new file mode 100644 index 0000000..631b8cc --- /dev/null +++ b/app/src/main/jni/main.h @@ -0,0 +1,18 @@ +#ifndef MAIN_H +#define MAIN_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +void *(*old_func)(u_int8_t, u_int8_t *, int) = nullptr; +#endif //MAIN_H +