IDA快手上手

  • iOS逆向
    • 常用:(Mac中)用IDA分析代码
      • 下载和安装IDA
      • 找到要分析的iOS的app的二进制文件
      • 拖动二进制到IDA中
      • 等待分析完毕
      • 利用各种功能,研究代码逻辑
        • 常用功能
          • 字符串
            • 搜索感兴趣的关键字
              • 比如:越狱对应的单词:jailbreakjailjb
          • 函数
            • 搜索已找到的iOS的ObjC的类和函数
              • 然后打开查看代码逻辑
          • 伪代码
            • 当打开函数后,默认是汇编代码,按F5即可打开伪代码
              • 近似于自己写的源码,人类可读的那种,就可以分析代码,搞懂函数的基本(甚至全部的)逻辑了
          • 结构体:类的定义
            • 结构体定义的来源
              • 有些是自动分析出来的
                • 如果没有错误,无需调整
              • 有些需要自己额外新增类的定义
            • 效果
              • 如果类的结构体定义是正确的话,那么伪代码中,自动会解析出,类的函数和属性的调用,即可大大增加伪代码的可读性
      • 之后的重点
        • IDA的静态分析:IDAF5伪代码,查看伪代码的大概逻辑
        • Xcode的动态调试:iOS逆向的Xcode++MonkeyDev+LLDB的动态调试,通过hook等手段,确认调用了哪些函数,参数值如何等等
        • 互相配合:把Xcode中的实时的汇编代码 和 IDA中伪代码,互相对应起来,便于理解代码逻辑
        • 后续的优化代码逻辑:在逐渐搞懂更多代码逻辑后,继续给IDA中的伪代码去优化代码,主要是给参数、变量、函数等改名,以及更进一步的,新增或修改类的结构体定义,使得伪代码中自动解析出正确的类的函数和属性的调用等内容。
    • 偶尔用:用IDA调试二进制

results matching ""

    No results matching ""