android中so函数动态获取问题

由于二进制中的函数是被粉碎过的,假如我要获取libart.so中的OpenMemory函数(这个看源码),我们可以这样找。

nm -a '/home/haidragon/Desktop/android-5.1.1_r1/out/target/product/hammerhead/obj/lib/libart.so'  | grep "OpenMemory"

android中so函数动态获取问题
然后找对应的那个OpenMemory(因为有函数重载)

c++filt _ZN3art7DexFile10OpenMemoryEPKhjRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEjPNS_6MemMapEPKNS_7OatFileEPS9_

android中so函数动态获取问题
用dlsym获取就行了。

猜你喜欢

转载自blog.51cto.com/haidragon/2413866