【问题标题】:How to decompile phone app back to kotlin code?如何将手机应用程序反编译回 kotlin 代码?
【发布时间】:2021-12-30 13:37:33
【问题描述】:

我最近丢失了所有应用程序的文件,但幸运的是,我的应用程序仍然保存在手机上。我在电脑上提取了应用程序,但我不知道下一步该怎么做。 应用程序是用 kotlin 编写的,我想将应用程序反编译为它,以便稍后在 Android Studio 中修改应用程序。

屏幕截图显示了我现在拥有的所有文件。我真的很感谢所有的建议。

【问题讨论】:

  • 如果 Kotlin 反编译器还存在,我会有点惊讶吗?你可以把它变成Java。

标签: android kotlin apk decompiling


【解决方案1】:

这是 100% 的一个很好的例子,说明了为什么你应该使用 git 或类似的东西进行源跟踪,而且没有理由不这样做,因为它是免费的,除非你的业务很大。

那些是 .dex 文件。 android sdk 中有一个名为 dexdump 的工具可以对它们进行解码。您的里程可能会因它的工作情况而异,而且几乎肯定会混合使用 java 和 kotlin 代码。

您下载的每个 sdk 都有该程序的一个版本,它是特定于它的。有关定位它的信息,请看这里: How To Use Dexdump

【讨论】:

  • 对不起,你能解释一下如何对这些文件进行 dexdump 吗?我的意思是我已经尝试过这样做,但是 cmd 在屏幕截图中显示错误。首先我尝试 dexdump zip 然后只是文件夹,但它似乎不起作用。
  • 它适用于具有 .dex 扩展名的单个文件。不仅如此,我帮不了你。
  • 我尝试对单个 dex 文件进行 dexdump,但出现此错误:处理 'C:\Users\Greg\Desktop\lifer\classes7.dex'... E/dalvikvm(8780): ERROR : 不支持的 dex 版本 (30 33 39 00) E/dalvikvm(8780): 错误: 字节交换 + 验证失败 错误: 'C:\Users\Greg\Desktop\lifer\classes7.dex' 的结构验证失败你可能知道吗如何解决这个问题?
  • 不支持的 dex 版本意味着您使用了错误的 dexdump 版本。您安装了该工具的多个副本,每个副本都是为特定框架设计的。如果你不知道你用的是哪一个,你必须尝试你已经安装的所有版本的 dexdump。
猜你喜欢
  • 2010-09-07
  • 2017-12-20
  • 1970-01-01
  • 2018-07-06
  • 2015-02-15
  • 2011-01-16
  • 2017-04-26
  • 2013-03-16
  • 1970-01-01
相关资源
最近更新 更多