diff --git a/magisk-loader/src/main/jni/src/service.cpp b/magisk-loader/src/main/jni/src/service.cpp index 45c46271..8307de11 100644 --- a/magisk-loader/src/main/jni/src/service.cpp +++ b/magisk-loader/src/main/jni/src/service.cpp @@ -218,10 +218,11 @@ namespace lspd { return; } + auto &art = lspd::GetArt(); auto binder_class = JNI_FindClass(env, "android/os/Binder"); exec_transact_backup_methodID_ = JNI_GetMethodID(env, binder_class, "execTransact", "(IJJI)Z"); - auto *setTableOverride = SandHook::ElfImg("/libart.so").getSymbAddress( + auto *setTableOverride = art->getSymbAddress( "_ZN3art9JNIEnvExt16SetTableOverrideEPK18JNINativeInterface"); if (!setTableOverride) { LOGE("set table override not found"); @@ -247,6 +248,7 @@ namespace lspd { auto &binder = lspd::GetLibBinder(false); IPCThreadState::Init(binder.get()); lspd::GetLibBinder(true); + lspd::GetArt(true); LOGD("Done InitService"); }