在夜神模拟器上跑armeabi-v7a包相关问题咨询 #91
-
bhook sample只编译armeabi-v7a包,运行到最新版本(3.8.5.7)夜神模拟器(被安装在MAC)上,模拟器相关信息 sample新增一个简单的库libdltester.so, dlopen在hookee里尝试dlopen libdltester.so
dlopen失败,错误如下:
dlerror输出内容风马牛不相及 于是到bh_dl_monitor_set_dlerror_msg输出下errmsg:
怪异的点 细想,模拟器本身是x86平台的,大概率使用3和40进行比较了。
也就是说,我们跳过了houdini,击穿了linker,直接调用了x86格式的do_dlopen符号。 armeabi-v7a的包跑在x86上,linker用的是/system/bin/linker(x86格式),然后用x86格式的linker去dlopen打开armeabi-v7a的文件, 尝试调回houdini的dlopen,has unexpected e_machine: 40问题得到解决
System.loadLibrary("dltester");用System.loadLibrary打开dltester时android_dlopen_ext并没有被hook到
尝试用加锁+bh_dl_iterate_by_maps的方式遍历到/system/lib/下的so,然后解析ELF获取相关符号,然而armeabi-v7a包运行在x86上,等同用armeabi-v7a的方式解析x86的so,一些ELF_R_JUMP_SLOT等会失效。 最后armeabi-v7a包运行在x86上时因为houdini的存在,会存在如下问题: 老师,在README中是否考虑特殊说明下? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
bytehook不支持模拟器,没有在模拟器中做过任何测试。 |
Beta Was this translation helpful? Give feedback.
bytehook不支持模拟器,没有在模拟器中做过任何测试。