由于二进制中的函数是被粉碎过的,假如我要获取libart.so中的OpenMemory函数(这个看源码),我们可以这样找。
nm -a ‘/home/haidragon/Desktop/android-5.1.1_r1/out/target/product/hammerhead/obj/lib/libart.so‘ | grep "OpenMemory"
然后找对应的那个OpenMemory(因为有函数重载)
c++filt _ZN3art7DexFile10OpenMemoryEPKhjRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEjPNS_6MemMapEPKNS_7OatFileEPS9_
用dlsym获取就行了。
原文地址:https://blog.51cto.com/haidragon/2413866
时间: 2024-11-05 02:43:31