研究基于android flutter开发的APP逆向
连续碰到好几个用flutter的APP,比加密的还难搞,不加壳都无从下手,研究了一下,发现一个软件Doldrums,https://github.com/rscloura/Doldrums
用来反编译flutter的dart文件的。
1.逆向思路
先把apk脱壳,解压出来,这些都照以前的做就行了没什么变化
解压出apk后,以前都是去研究classes.dex或者classed2.dex这两个文件,用flutter开发的app这两个文件里就没什么东西了。
flutter开发的app,用户代码被放在了/lib目录里,根据所用cpu类型不同,lib里有armeabi-v7a armeabi-v8a之类的文件夹,里面的libapp.so这个才是程序的用户代码。
2.开始逆向
找到lib/armeabi-v7a/libapp.so,这个就是程序核心代码了,然后反编译它:
python src/main.py -v libapp.so output
输出结果在output文件里
是json格式的文件