根據(jù)特征找RegisterNative函數(shù),找到動(dòng)態(tài)注冊(cè)函數(shù)

  • 為什么要找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)換v1env結(jié)構(gòu)體指針,即可得到正確結(jié)果。
    但我們現(xiàn)在得不到正確的反匯編代碼,所以老老實(shí)實(shí)看匯編的特征。

    1. 在IDA中搜索立即數(shù),ALT+I熱鍵,如圖操作。


      ALT+I.png
    2. 點(diǎn)ok ,出 ALT+I 結(jié)果


      ALT+I 結(jié)果.png
    3. Ctrl+F 搜索0x35C(這種信息一般十六進(jìn)制顯示)


      Ctrl+F.png
    4. 找到
      樣本中的so,搜索結(jié)果就很明確了,在JNI_Onload函數(shù)中,點(diǎn)擊進(jìn)去

      找到.png

      特征明確,off_7588C即為我們需要的methods列表

      雙擊進(jìn)去:


      methods列表.png

    達(dá)到目的

參考:

IDA F5堆棧不平衡的處理

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容