Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issues while parsing libapp.so from a simple Flutter app #3

Open
Pierre-vh opened this issue Jan 26, 2021 · 5 comments
Open

Issues while parsing libapp.so from a simple Flutter app #3

Pierre-vh opened this issue Jan 26, 2021 · 5 comments

Comments

@Pierre-vh
Copy link

Hello,

I am trying to use Darter on a libapp.so extracted (unzipped) from a .APK generated by flutter from a simple Flutter app, however I'm encountering many issues.

The first one is this:

darter.core.ParseError: (24628, "Version (8ee4ef7a67df9845fba331734198a953) doesn't match with the one this parser was made for")

If I use strict=False, as instructed, I then get this error instead:

darter.core.ParseError: (24813, 'Cluster "FfiPointer" still not implemented')

Does this mean a functionality is missing from Darter, or am I misusing Darter?

Any help on this would be greatly appreciated.

Thank you very much.

@mildsunrise
Copy link
Owner

mildsunrise commented Jan 26, 2021

yes, functionality is missing on Darter. As the readme says, the snapshot format is not stable and changes frequently between versions.

Darter was made for Dart version 1ef83b86ae (Flutter v1.9.1), and some time has passed since then. The snapshot you're trying to parse has version 8ee4ef7a67df9845fba331734198a953 which corresponds to Flutter v1.22+. To be able to parse newer snapshots, Darter should be updated according to the changes that have been incorporated into Dart since then.

@mildsunrise
Copy link
Owner

Pull requests are welcome, otherwise I might look into it when I find some time.

@rscloura
Copy link

Hi, just wanted to let the OP know that I independently developed a parser for version 8ee4ef7a67df9845fba331734198a953, over at https://github.com/rscloura/Doldrums. As Darter is a lot more mature (and unfortunately I only found it halfway through my own project!), I will try to incorporate the necessary changes to Darter for version 8ee4ef7a67df9845fba331734198a953 if I have the time :)

@mildsunrise
Copy link
Owner

cool! sorry about the quality of the code, it isn't what I'd like it to be... ask me if you have any doubts

@mildsunrise
Copy link
Owner

I'm looking at implementing support for all versions after the supported one, which is v1.9.1
manually reviewing the code will take some time, 927 commits so far after initial filtering

maybe I'll only review Dart versions that are used in a Flutter prod/beta release, as I assume most use cases are for Flutter applications

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants