xHook
xHook copied to clipboard
🔥 A PLT hook library for Android native ELF.
xhook_register("/data/.*\\.so$", "__system_property_get",new_system_property_get,(void**)(&old_system_property_get)); in other project in .so called func system,but found new_system_property_get not be called,i don't know why,can you help me?thanks more~ extern "C" JNIEXPORT jstring JNICALL Java_xxx_system(JNIEnv *env) {...
我知道bhook更好。但我认为它太庞大了。我更喜欢xhook。。。
如何获取指定so所有的导出函数?
打安卓aab包安装,android11上面so库会放在apk里面,没有解压出来,proc/pid/maps文件里面就不会有对应的SO路径。所以就会hook失败。。。
报错如下图 
https://github.com/iqiyi/xHook/blob/9180bd74098fd41f808d3968e2e52b4f5db92c99/libxhook/jni/xh_util.c#L49 你好,大佬,最近我在学习PLT hook的相关知识,所以找到了xhook。 xhook写的太好了,让我学到了好多知识。 (1)Line49 line[512]够大吗?如果一行读不完,恰好在动态库名称或者路径的地方被截断了,strstr(line, pathname)一直等于NULL,那岂不永远找不到相应的内存页。 为什么不用getLine或者加上\n的判断,或者去掉对pathname的判断。 android对动态库的路径或者动态库的名称长度有严格限制吗,所以512够用? (2)为什么要特殊处理跨内存页,实际应用中有遇到重定位函数表/GOT内容跨页的现象吗? 不是有严格的内存对齐要求(要么4要么8)? 这种PLT-GOT相关的条目不是程序刚运行时就分配地址了吗? 内存碎片对变量地址,可能导致变量跨页存储。 我实在不理解这个地方为什么要处理跨页。
#define HOOK_REGEX "/data/.*\\.so$"
2021-07-19 14:18:11.421 16420-16480/ E/xhook: strtab == NULL 2021-07-19 14:18:11.421 16420-16480/ E/xhook: elf init check failed. /lib/arm64/libil2cpp.so
As indicated in the title.
 pid: 15866, tid: 16033, name: xh_refresh_loop >>> com.xxx.xxx