gpt4 book ai didi

Flutter debug Apk反编译获取源码

转载 作者:IT王子 更新时间:2023-10-29 06:33:38 39 4
gpt4 key购买 nike

由于驱动器损坏,我丢失了 flutter 应用程序的源代码,但我的 android 手机中有我的 debug.apk。如何反编译Flutter apk获取源码?我试过使用反编译器反编译它,但它没有提供我的源代码因为 Flutter 源代码是 Dart 语言。

最佳答案

如果您的 debug.apk 处于 Debug模式,那么您可以使用 apktool 来提取 apk 的组件(我使用提取这个词是因为 apk 是一个 zip 文件)。

在 Debug模式下,Flutter 将源代码(带有注释!)保存在文件 kernel_blob.bin 中。因此,使用以下命令应该可以帮助您将代码提取到文件中:

strings /path/to/extracted/apk/assets/flutter_assets/kernel_blob.bin > extracted_code.dart

注意 - 您需要从不相关/垃圾字符串中清除“extracted_code.dart”。

尝试在“extracted_code.dart”中搜索诸如“dart”、“import”、“void”等关键字的字符串,它将帮助您找到代码本身。

这是我的 Ubuntu 中的一个示例:

Example

如果 apk 是在“release”模式下编译的,提取代码会更难,因为代码被编译到 isolate_snapshot_instr 文件中,它不是原始的 arm 程序集,只是反序列化在运行时使用 Flutter 引擎。您可以阅读更多相关信息 here

关于Flutter debug Apk反编译获取源码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53666487/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com