{"repo":"mildsunrise/darter","free":true,"listed":false,"github":"https://github.com/mildsunrise/darter","clone":"git clone https://github.com/mildsunrise/darter.git","description":":detective: Dart / Flutter VM snapshot analyzer","language":"Jupyter Notebook","stars":344,"topics":["dart","flutter","reverse-engineering"],"license":"AGPL-3.0","category":"mobile-apps","readme_excerpt":"⚠️ Warning: This project is outdated. The format of Dart snapshots changes CONSTANTLY, and any Dart RE tools like this one NEED constant maintenance or they stop working with newer versions of Dart / Flutter. Contributions are welcome, but I currently do not have the time to invest in monitoring changes to the VM and keeping this updated. So, if your snapshot was produced by a reasonably modern version, it probably won't parse [correctly]. Still, if you want to try, you'll probably need at least the fix in #3. --- darter: Dart snapshot parser darter is a Python module that can fully parse the data inside a Dart snapshot (i.e. the libapp.so file in a release Flutter app). Features: - Parses 100% of the snapshot data, including memory structures. - Supports many architectures and the three snapshot types (old, AppJIT and AppAOT). - Usually zero-config: autodetects flags & settings from the snapshot. - Extracts the blobs from app.so or .snapshot files automatically. - Stores back-references, so you can navigate the graph easily. - Debugging output & strict mode controls. - Disassembles and analyzes the compiled code to find references to VM objects. Examples of what you can do with the parsed info: - Extract string table of the application - Find usages of a certain object - Export metadata for Radare2 - Deobfuscate a snapshot by matching it with a reference one - Generate call graph, library dependency graph, etc. Note: Keep in mind that this is for parsing binary (i.e. archite","default_branch":null,"files":null,"tree":[],"storefront":"/r/mildsunrise","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/mildsunrise/darter/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}