将混淆的Android dex / jar文件反编译为Java源代码

时间:2016-04-26 04:07:21

标签: java reverse-engineering decompiling decompiler deobfuscation

有没有办法将混淆的dex / jar文件反编译成Java源代码?我有一个没有classes.dex文件的APK,但我有odex文件。我尝试使用oat2dex和dex2jar来获取dex / jar文件,然后使用一些反编译器来获取Java源代码,但我要么在某些部分出错,要么自从很难读取代码它被混淆了。

这是我尝试过的事情

  • JD-GUI(首先我尝试完成反编译,但有多个错误)
  • Fernflower(无法完成)
  • Procyon(非常好,但有一些错误)
  • CFR(更好,但有一些错误)
  • Jadx(最好,错误最少,但代码仍然模糊不清,难以阅读,多个类/方法具有相同的随机名称)

如何获得更易读的代码呢?

1 个答案:

答案 0 :(得分:1)

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

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