Flutter逆向系列--实战技术

背景

  由于Flutter本身开发标准一致,降低了RD人员适配多端的工作量,且本身具有很好的安全性,因此越来越多的应用尝试使用Flutter。而逆向Flutter应用却不像Java一样简单,常用的IDA、JEB等工具完全失效。
   本文主要通过一个实际例子,讲解逆向分析Flutter的具体步骤和方法论

逆向步骤简述

  1. 确定APP是否为Flutter应用
    • Android: lib/xxx/libapp.so lib/xxx/libflutter.so
    • IOS: Payload/Frameworks/Flutter.framework
  2. 获取逆向关键信息
  3. 将libapp.so或app等相关Flutter代码拖入IDA进行分析
    • [可选] 重命名函数(混淆时使用)
  4. 获取_kDartIsolateSnapshotInstructions偏移
  5. 利用frida动静结合进行算法分析

例子

以某为例子

  1. 确认是否为Flutter应用
    Flutter逆向系列--实战技术_第1张图片
  2. reFlutter
  • 安装 pip3 install reflutter
  • 使用 reflutter example.apk/reflutter example.ipa
  • 重签名后在真机上安装并运行应用

你可能感兴趣的:(Flutter安全,flutter,android,ios)