0

是否有方法将混淆的dex/jar文件反编译为Java源代码?我有一个APK中没有classes.dex文件,但我有odex文件。我已经尝试使用oat2dex和dex2jar来获取dex/jar文件,然后使用一些反编译器来获取Java源代码,但是我要么在某些部分发生错误,要么因为它被混淆而难以读取代码。将混淆的Android dex/jar文件反编译为Java源代码

这是我已经试过

  • JD-GUI(第一我已经试过了完成编译,但有多个错误)
  • Fernflower(无法完成)
  • 南河(相当不错,但也有一些错误)
  • CFR(更好,但也有一些错误)
  • Jadx(最好的,用最少的错误,但代码仍然模糊,难以阅读,用相同的随机名称的多个类/方法)

我该怎么做才能获得更具可读性的代码?

+0

你为什么要反编译混淆代码?让困难成为迷惑工具的目的。 –

+0

如果有好的,我认为人们会停止混淆他们的代码。 –

+0

那么我有权说没有解决方案吗? – user1118764

回答

1

没有任何神奇的工具可以将你所有的模糊代码重构为有意义和“干净”的东西。混淆代码被混淆:处理它。

然而,您可以保存混淆的源代码,使用您的首选IDE(支持重构)创建一个项目,然后手动分析函数和变量并将它们重构为有意义的东西。这需要很多时间,但最终你会得到一个几乎干净的源代码。