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