Commit 79e2b1bb authored by swift_gan's avatar swift_gan

use replacement hook in arm32 tmp

parent 86681ef3
......@@ -11,13 +11,9 @@ namespace SandHook {
//32bit
#if defined(__i386__) || defined(__arm__)
#define ADDR(addr) *((uint32_t *) addr)
#define ALIGN_ADDR(x) ((v+4-1) - ((v+4-1)&3))
#define Size uint32_t
//64bit
#elif defined(__aarch64__) || defined(__x86_64__)
#define ADDR(addr) *((uint64_t *) addr)
#define ALIGN_ADDR(x) ((v+8-1) - ((v+8-1)&7))
#define Size uint64_t
#else
#endif
......
......@@ -125,6 +125,11 @@ Java_com_swift_sandhook_SandHook_hookMethod(JNIEnv *env, jclass type, jobject or
bool isInterpreter = SandHook::CastArtMethod::entryPointQuickCompiled->get(origin) == SandHook::CastArtMethod::quickToInterpreterBridge;
#if defined(__arm__)
doHookWithReplacement(origin, hook, backup);
return JNI_TRUE;
#endif
if (isInterpreter) {
if (SDK_INT >= ANDROID_N) {
Size threadId = getAddressFromJavaByCallMethod(env, "com/swift/sandhook/SandHook", "getThreadId");
......
......@@ -76,7 +76,7 @@ public class SandHookMethodResolver {
canResolvedInJava = true;
} else if (resolvedMethods instanceof int[]) {
//32bit
canResolvedInJava = false;
canResolvedInJava = true;
}
}
......
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