将.dart.snapshot反编译为Dart源代码

问题描述 投票:2回答:1

根据dart-lang/sdk

从1.21开始,Dart VM还支持应用程序快照,其中包括在程序的训练运行期间生成的所有已解析的类和已编译的代码。

    $ dart --snapshot=hello.dart.snapshot --snapshot-kind=app-jit hello.dart arguments-for-training
    Hello, world!
    $ dart hello.dart.snapshot arguments-for-use
    Hello, world!

现在,如何将这个hello.dart.snapshot文件反编译为hello.dart?

在用Java语言编写的android Apk中,我们可以使用dex2jar工具反编译apk并从class.dex获取jar文件,但是当由flutter框架(用dart编写)开发的应用程序如何反编译该应用程序并获取应用程序飞镖课程?

此图像显示了apk资产文件中生成的快照文件。

根据dart-lang / sdk:从1.21开始,Dart VM还支持应用程序快照,其中包括在程序的训练运行期间生成的所有已解析的类和已编译的代码。 ...

dart flutter apk reverse-engineering decompiler
1个回答
2
投票
在发布模式下,Flutter将Dart代码编译为机器代码currently only ARMv7(此过程称为AOT-提前编译)。与本机Android应用程序不同,在本机Android应用程序中,Java被编译为名为Smali的字节码,可以(非常容易)将其再次反编译为Java。
© www.soinside.com 2019 - 2024. All rights reserved.