A reverse engineering framework for Flutter apps, enabling traffic interception and dynamic analysis via patched Flutter engines.
reFlutter is a reverse engineering framework specifically designed for Flutter applications. It provides pre-patched Flutter engine libraries that modify snapshot deserialization to enable dynamic analysis and traffic interception, helping security researchers inspect app behavior and network communication.
Security researchers, penetration testers, and mobile app developers focused on Flutter app security assessment and vulnerability discovery.
Developers choose reFlutter for its ready-to-use patched engines, which simplify traffic interception and code analysis without requiring root access on Android, and its support for custom patch development via Docker.
Flutter Reverse Engineering Framework
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The patched socket.cc enables seamless network traffic monitoring through proxies like Burp Suite without root access on Android, as outlined in the traffic interception section.
Modified dart.cc prints DartVM classes, functions, and fields during runtime, aiding code exploration without extensive manual reverse engineering, evidenced by the dumped file examples.
It allows traffic interception and analysis on Android devices without root privileges, simplifying setup compared to other reverse engineering tools.
Includes a Docker-based workflow for manually modifying Flutter source code, enabling researchers to implement and test custom patches for specific needs.
The README's To Do list admits it doesn't extract more strings and fields yet, which can hinder comprehensive app analysis and require additional tools.
It only supports stable and beta Flutter engine releases, lacking debug version support, which may limit testing scenarios for developers.
Users must manually find _kDartIsolateSnapshotInstructions offsets and configure proxy settings, adding complexity and potential errors to the workflow.