Flutter逆向

Flutter框架逆向

介绍

Flutter是Google构建在开源的Dart VM之上,使用Dart语言开发的移动应用开发框架,可以帮助开发者使用一套Dart代码就能快速在移动iOS 、Android上构建高质量的原生用户界面,同时还支持开发Web和桌面应用。
Flutter引擎是一个用于高质量跨平台应用的可移植运行时,由C/C++编写。它实现了Flutter的核心库,包括动画和图形、文件和网络I/O、辅助功能支持、插件架构,以及用于开发、编译和运行Flutter应用程序的Dart运行时和工具链。引擎将底层C++代码包装成 Dart代码,通过dart:ui暴露给 Flutter框架层。
flutter开源地址
flutter官网

原创]Flutter概述和逆向技术发展时间线,带你快速了解

特征

在逆向分析前,我们首先要确定测试目标是否用Flutter开发的。当使用Flutter构建Android APP时,在assets文件夹下会有dexopt和flutter_assets两个文件夹
图片
lib文件夹会有两个so文件:libapp.so和libflutter.so(flutter动态链接库,与实际业务代码无关)
图片

《安卓逆向这档事》番外实战篇3-拨云见日之浅谈Flutter逆向 - 吾爱破解 - 52pojie.cn

这里以newstar的flutter题目为例.

首先flutter(全是sub)还原符号有两种方式,这里主要看静态编译,可以去搜搜blutter这个项目.

可以通过这个获得符号还原,还能获得相应类的汇编(建议先看这个文件,比在ida找快多了),还能获得类的方法,数据(有概率能直接获得key)

根据汇编可以找找check之类的函数,找到了去ida看看,通过交叉引用看一下.

于是就能看到主函数,当然非常丑,只能通过猜加密逻辑来做(这种题遇到魔改怎么办?)

posted @ 2025-04-16 16:55  T0fV404  阅读(122)  评论(0)    收藏  举报