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

在Android 7 对dlopen的监控会影响系统原本的dlopen调用导致后续的so都无法loading #82

Closed zqhGeek closed 2 months ago

zqhGeek commented 11 months ago

bytehook Version

1.0.8

Android OS Version

7.1

Android ABIs

armeabi-v7a

Device Manufacturers and Models

模拟器

Describe the Bug

只要监控dlopen后,就没法再dlopen其他so某些日志是我自己加上去的 image

zqhGeek commented 11 months ago

测试了一下,本质应该是xdl那套方式在这种情况下不行,我尝试了使用xdl去dlopen so也是直接失败的,由于dlopen被监听了,所以后续所有的dlopen都会失败,有个疑问为什么不直接回调系统方法,这里面有什么坑吗? image image

zqhGeek commented 11 months ago

image 我使用原始函数指针调用做兜底,不知道这样做是否会有坑,起码在这个模式中是正常的......

Mr-JingShi commented 7 months ago

请参考下:在夜神模拟器上跑armeabi-v7a包相关问题咨询 #91

caikelun commented 5 months ago

@zqhGeek bytehook不支持模拟器,没有在模拟器中做过任何测试。