bytedance / bhook

:fire: ByteHook is an Android PLT hook library which supports armeabi-v7a, arm64-v8a, x86 and x86_64.
https://github.com/bytedance/bhook/tree/main/doc#readme
MIT License
2.05k stars 315 forks source link

hook jni 方法失败 #59

Closed AriaLyy closed 1 year ago

AriaLyy commented 1 year ago

bytehook Version

1.0.6

Android OS Version

12

Android ABIs

armeabi-v7a

Device Manufacturers and Models

mix4

Describe the Bug

我尝试hook jni 方法的时候,无法hook jni 方法

这是我的JNI方法

JNIEXPORT void JNICALL
Java_com_lyy_crashhook_NativeLib_stringFromJNI(JNIEnv *env, jobject thiz) {
    LOG("Java_com_lyy_crashhook_NativeLib_stringFromJNI");
}

这是我的Hook代码

    bytehook_hook_single("libhookee.so", NULL, "Java_com_lyy_crashhook_NativeLib_stringFromJNI",
                         (void *) open_proxy_manual,
                         crash_hooked_callback,
                         NULL);

返回结果总是:

hooked. stub: b4000072fbc7f100, status: 13, caller_path_name: /data/app/~~rQpm4GQxSoUuAhD1gtXleA==/com.lyy.invorkhook-qoYvtStS3UiRqUyF-62m4Q==/lib/arm64/libhookee.so, sym_name: Java_com_lyy_crashhook_NativeLib_stringFromJNI, new_func: 72edc6e958, prev_func: 0, arg: 0
caikelun commented 1 year ago

jni方法不是通过plt调用的,无法用bytehook。建议先了解一些native hook的分类和适用范围等信息。

AriaLyy commented 1 year ago

了解了,感谢回复🙏