為什么要找
RegisterNative函數(shù)?
因?yàn)楦鶕?jù)RegisterNative函數(shù),可以找到動(dòng)態(tài)注冊(cè)的函數(shù)地址,就方便看so中的函數(shù)了。怎么找
RegisterNative函數(shù)?
在JNI_Onload函數(shù)中特征
特征需要簡單強(qiáng)調(diào)下:
860 (0x35C)
(*(v1 + 860))()
LDR.W [R12, #0x35C]-
具體簡單方便方法
簡述:所有的JNI函數(shù)的指針在一個(gè)大表格中,RegisterNative函數(shù)位于860(0x35C)這個(gè)位置,正常反匯編后形如(*(v1 + 860))(),然后我們會(huì)轉(zhuǎn)換v1為env結(jié)構(gòu)體指針,即可得到正確結(jié)果。
但我們現(xiàn)在得不到正確的反匯編代碼,所以老老實(shí)實(shí)看匯編的特征。-
在IDA中搜索立即數(shù),ALT+I熱鍵,如圖操作。
ALT+I.png -
點(diǎn)ok ,出 ALT+I 結(jié)果
ALT+I 結(jié)果.png -
Ctrl+F 搜索0x35C(這種信息一般十六進(jìn)制顯示)
Ctrl+F.png -
找到
樣本中的so,搜索結(jié)果就很明確了,在JNI_Onload函數(shù)中,點(diǎn)擊進(jìn)去
找到.png特征明確,off_7588C即為我們需要的methods列表
雙擊進(jìn)去:
methods列表.png
達(dá)到目的
-
參考:




