Commit 9586a356 authored by swift_gan's avatar swift_gan

fix 32bit on android p temp

parent aef899be
...@@ -79,12 +79,12 @@ bool doHookWithReplacement(art::mirror::ArtMethod *originMethod, ...@@ -79,12 +79,12 @@ bool doHookWithReplacement(art::mirror::ArtMethod *originMethod,
disableCompilable(originMethod); disableCompilable(originMethod);
disableCompilable(hookMethod); disableCompilable(hookMethod);
} }
if (SDK_INT >= ANDROID_O) {
disableInterpreterForO(originMethod);
}
if (backupMethod != nullptr) { if (backupMethod != nullptr) {
memcpy(backupMethod, originMethod, SandHook::CastArtMethod::size); memcpy(backupMethod, originMethod, SandHook::CastArtMethod::size);
} }
if (SDK_INT >= ANDROID_O) {
disableInterpreterForO(originMethod);
}
SandHook::HookTrampoline* hookTrampoline = trampolineManager.installReplacementTrampoline(originMethod, hookMethod, backupMethod); SandHook::HookTrampoline* hookTrampoline = trampolineManager.installReplacementTrampoline(originMethod, hookMethod, backupMethod);
if (hookTrampoline != nullptr) { if (hookTrampoline != nullptr) {
SandHook::CastArtMethod::entryPointQuickCompiled->set(originMethod, hookTrampoline->replacement->getCode()); SandHook::CastArtMethod::entryPointQuickCompiled->set(originMethod, hookTrampoline->replacement->getCode());
...@@ -160,12 +160,14 @@ Java_com_swift_sandhook_SandHook_hookMethod(JNIEnv *env, jclass type, jobject or ...@@ -160,12 +160,14 @@ Java_com_swift_sandhook_SandHook_hookMethod(JNIEnv *env, jclass type, jobject or
bool isInterpreter = SandHook::CastArtMethod::entryPointQuickCompiled->get(origin) == SandHook::CastArtMethod::quickToInterpreterBridge; bool isInterpreter = SandHook::CastArtMethod::entryPointQuickCompiled->get(origin) == SandHook::CastArtMethod::quickToInterpreterBridge;
bool idJNi = SandHook::CastArtMethod::entryPointQuickCompiled->get(origin) == SandHook::CastArtMethod::genericJniStub; bool idJNi = SandHook::CastArtMethod::entryPointQuickCompiled->get(origin) == SandHook::CastArtMethod::genericJniStub;
// #if defined(__arm__) // #if defined(__arm__)
// doHookWithReplacement(origin, hook, backup); // doHookWithReplacement(origin, hook, backup);
// return JNI_TRUE; // return JNI_TRUE;
// #endif // #endif
if (BYTE_POINT == 4 && SDK_INT >= ANDROID_P) {
if (isAbsMethod(origin)) { return static_cast<jboolean>(doHookWithReplacement(origin, hook, backup));
} else if (isAbsMethod(origin)) {
return static_cast<jboolean>(doHookWithReplacement(origin, hook, backup)); return static_cast<jboolean>(doHookWithReplacement(origin, hook, backup));
} else if (isInterpreter) { } else if (isInterpreter) {
if (SDK_INT >= ANDROID_N) { if (SDK_INT >= ANDROID_N) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment