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獲取就行了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章