From be5208409d5166518a79792f31c57e9c1db78b3a Mon Sep 17 00:00:00 2001 From: jiqiu2021 Date: Mon, 28 Oct 2024 22:20:58 +0800 Subject: [PATCH] =?UTF-8?q?jni=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/src/main/cpp/game.h | 2 +- module/src/main/cpp/hack.cpp | 18 +++++++++--------- module/src/main/cpp/main.cpp | 8 ++++++-- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/module/src/main/cpp/game.h b/module/src/main/cpp/game.h index 81a30b0..c4fac4a 100644 --- a/module/src/main/cpp/game.h +++ b/module/src/main/cpp/game.h @@ -5,6 +5,6 @@ #ifndef ZYGISK_IL2CPPDUMPER_GAME_H #define ZYGISK_IL2CPPDUMPER_GAME_H -#define AimPackageName "com.sankuai.meituan" +#define AimPackageName "com.tencent.mobileqq" #endif //ZYGISK_IL2CPPDUMPER_GAME_H diff --git a/module/src/main/cpp/hack.cpp b/module/src/main/cpp/hack.cpp index 25d5a18..bc526fb 100644 --- a/module/src/main/cpp/hack.cpp +++ b/module/src/main/cpp/hack.cpp @@ -89,18 +89,18 @@ void load_so(const char *game_data_dir, JavaVM *vm, const char *soname) { } // 查找 JNI_OnLoad 并调用 - void (*JNI_OnLoad)(JavaVM *, void *); - *(void **) (&JNI_OnLoad) = dlsym(handle, "JNI_OnLoad"); - if (JNI_OnLoad) { - LOGI("JNI_OnLoad symbol found, calling JNI_OnLoad."); - JNI_OnLoad(vm, NULL); - } else { - LOGE("JNI_OnLoad symbol not found in %s", new_so_path); - } +// void (*setupSignalHandler)(); +// *(void **) (&setupSignalHandler) = dlsym(handle, "setupSignalHandler"); +// +// if (setupSignalHandler) { +// LOGI("setupSignalHandler symbol found, calling setupSignalHandler."); +// setupSignalHandler(); // 调用找到的函数 +// } else { +// LOGE("setupSignalHandler symbol not found in %s", new_so_path); +// } } void hack_start(const char *game_data_dir,JavaVM *vm) { load_so(game_data_dir,vm,"test"); - } std::string GetLibDir(JavaVM *vms) { diff --git a/module/src/main/cpp/main.cpp b/module/src/main/cpp/main.cpp index 5fa0b4f..42cbe83 100644 --- a/module/src/main/cpp/main.cpp +++ b/module/src/main/cpp/main.cpp @@ -25,7 +25,11 @@ public: void preAppSpecialize(AppSpecializeArgs *args) override { auto package_name = env->GetStringUTFChars(args->nice_name, nullptr); auto app_data_dir = env->GetStringUTFChars(args->app_data_dir, nullptr); - LOGI("preAppSpecialize %s %s", package_name, app_data_dir); +// if (strcmp(package_name, AimPackageName) == 0){ +// args->runtime_flags=8451; +// } + LOGI("preAppSpecialize %s %s %d", package_name, app_data_dir,args->runtime_flags); + preSpecialize(package_name, app_data_dir); env->ReleaseStringUTFChars(args->nice_name, package_name); env->ReleaseStringUTFChars(args->app_data_dir, app_data_dir); @@ -47,7 +51,7 @@ private: size_t length; void preSpecialize(const char *package_name, const char *app_data_dir) { - if (strcmp(package_name, AimPackageName) == 0) { + if (strcmp(package_name, AimPackageName) == 0||strcmp(package_name, "com.tencent.mobileqq:MSF") == 0) { LOGI("成功注入目标进程: %s", package_name); enable_hack = true; _data_dir = new char[strlen(app_data_dir) + 1];