美文网首页
根据特征找RegisterNative函数,找到动态注册函数

根据特征找RegisterNative函数,找到动态注册函数

作者: 炫子_260f | 来源:发表于2021-10-19 14:41 被阅读0次
    • 为什么要找RegisterNative函数?
      因为根据RegisterNative函数,可以找到动态注册的函数地址,就方便看so中的函数了。

    • 怎么找RegisterNative函数?
      JNI_Onload 函数中

    • 特征
      特征需要简单强调下:
      860 (0x35C)
      (*(v1 + 860))()
      LDR.W [R12, #0x35C]

    • 具体简单方便方法
      简述:所有的JNI函数的指针在一个大表格中,RegisterNative函数位于860(0x35C)这个位置,正常反汇编后形如(*(v1 + 860))(),然后我们会转换v1env结构体指针,即可得到正确结果。
      但我们现在得不到正确的反汇编代码,所以老老实实看汇编的特征。

      1. 在IDA中搜索立即数,ALT+I热键,如图操作。


        ALT+I.png
      2. 点ok ,出 ALT+I 结果


        ALT+I 结果.png
      3. Ctrl+F 搜索0x35C(这种信息一般十六进制显示)


        Ctrl+F.png
      4. 找到
        样本中的so,搜索结果就很明确了,在JNI_Onload函数中,点击进去

        找到.png

        特征明确,off_7588C即为我们需要的methods列表

        双击进去:


        methods列表.png

      达到目的

    参考:

    IDA F5堆栈不平衡的处理

    相关文章

      网友评论

          本文标题:根据特征找RegisterNative函数,找到动态注册函数

          本文链接:https://www.haomeiwen.com/subject/aqjaoltx.html