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构建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看看,通过交叉引用看一下.
于是就能看到主函数,当然非常丑,只能通过猜加密逻辑来做(这种题遇到魔改怎么办?)

浙公网安备 33010602011771号