libart.so下斷進(jìn)入JNI_ONLOAD

libart.so位置是在 /system/lib/libart.so

adb pull /system/lib/libart.so .

Exports里面搜索:LoadNativeLibrary

獲取地址: 0x002516F0

libart%20so%20JNI_ONLOAD%20fa13f73d7cdb466ea14d57913dd104a0/Untitled.png

然后在strings窗口里搜索 Calling JNI_OnLoad

點(diǎn)進(jìn)去右擊查看交叉引用,點(diǎn)第一個(gè)進(jìn)去

libart%20so%20JNI_ONLOAD%20fa13f73d7cdb466ea14d57913dd104a0/Untitled%201.png
libart%20so%20JNI_ONLOAD%20fa13f73d7cdb466ea14d57913dd104a0/Untitled%202.png

進(jìn)去后點(diǎn)最下面的B

libart%20so%20JNI_ONLOAD%20fa13f73d7cdb466ea14d57913dd104a0/Untitled%203.png

進(jìn)來(lái)之后是R6位置,下面的 BLX R5 記住這里的地址 0x00251E66

libart%20so%20JNI_ONLOAD%20fa13f73d7cdb466ea14d57913dd104a0/Untitled%204.png

用這里的地址減去前面搜索 LoadNativeLibrary 拿到的地址

0x00251E66 - 0x002516F0 得到偏移 0x776

然后以后動(dòng)態(tài)調(diào)試的時(shí)候,先確認(rèn)你需要的so加載進(jìn)來(lái)了,然后在libart.so中的模塊窗口直接搜索 LoadNativeLibrary 用這個(gè)位置加上上面的 0x776 這里斷下來(lái),然后F7進(jìn)入的時(shí)候就是當(dāng)前so的JNI_ONLOAD

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。