IDA静态分析so文件(一)

本文是记录自己学习IDA的一些总结与归纳,并将其体现成具体功能,便于复习与交流,有不对之处望大家包容并指出,欢迎大家留言收藏

本篇是IDA静态分析的第一篇, 本文讲解非常简单的静态分析so包 , 以便于熟悉IDA

环境

开始

  1. 通过分析apk, 我们知道, java层调用了那些本地函数 , 实际运用也是如果 , 我们需要先分析java层代码 , 本文我们就是找到本地函数怎么对比字符串
    在这里插入图片描述在这里插入图片描述

  2. 将apk包提取成文件夹形式
    在这里插入图片描述

  3. 打开IDA 到一下界面 ,我们选择new

  • new 打开一个新的文件
  • go 打开之前打开过得历史数据
  • Previous 最近用过的文件
    在这里插入图片描述
  1. 找到我们项目中的so文件,双击打开,一路确定
    在这里插入图片描述

  2. 这时候ida正式打开so文件 ,显示出各个模块,我们找到functions window , 顾名思义 , 是方法区 ,然后搜索我们刚刚需要找的函数名(快捷键 ctrl + f ) ,双击打开函数

在这里插入图片描述

  1. 这是这时候视图区就定位到当前函数
    在这里插入图片描述
  2. 点击函数名, 按F5 (注意:需要插件,很多ida都是自动集成的) 有确定按确定 , 就会转成c函数
    在这里插入图片描述
  3. 这时候,有一点c基础的都大概能看得到基本逻辑 ,就是拿v5 和 password做对比,但是很别扭,为什么参数都是int类型的 , 大家知道jni函数定义规则,由于ida并不能辨别参数类型,所以我们可以修改参数类型(点击参数类型按y)
    在这里插入图片描述
  4. 最终成为如下图,是不是非常亲切
    在这里插入图片描述

总结

本文讲述以下几点

  • 静态查看so包
  • 并找到指定函数
  • 修改函数类型

感谢

欢迎大家点赞分享收藏
IDA学习专栏

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章