是否可以完全去混淆java项目?

时间:2014-02-09 20:15:13

标签: java android

我正在尝试反编译.apk以获取源代码。我遵循了一些教程,最后我从.apk获得了项目。但是所有包都位于com文件夹,src文件夹是空的。当我试图将它们移动到src文件夹时,由于项目被混淆,我在每个类中都出错。我可以对所有这些类进行去混淆。以下代码制作它清楚。所有这些a,b,ab,c等都是混淆的类和方法。是否有可能对它们进行去混淆?

public void a(int paramInt1, int paramInt2, int paramInt3, int paramInt4)
  {
    if ((this.H) && (paramInt4 >= 482 - this.ab.c) && (paramInt4 <= 482))
      a(7, null, 5);
  }

  public void a(int paramInt, m paramm)
  {
    switch (paramInt)
    {
    default:
      return;
    case 6:
      e();
      a(false, 0, 0.5F);
      c(6, 0);
      return;
    case 5:
      e();
      this.K.F = false;
      this.P.F = false;
      this.R.F = false;
      this.H = false;
      a(false, 0, 0.5F);
      this.ac = 0;
      this.J.a();
      this.ao = 2;
      this.ak = 1;
      this.y = 0;
      this.al.a();
      this.A = (1 + this.A);
      c(7, 0);
      return;
    case 2:
      this.I = true;
      c(0, this.y);
      this.am.a();
      c(8, 0);
      return;
    case 3:
      c(11, 0);
      return;
    case 4:
      c(13, 0);
      return;
    case 7:
    }
    c(3, 0);
  }

1 个答案:

答案 0 :(得分:3)

您可以使用dex2jar,JDecompiler或您正在使用的任何反编译工具来粗略地了解代码结构。

但是,老兄,你不会从中得到确切的代码。这是为了混淆。

如果编写和窃取代码非常容易,那么为什么开发人员会获得报酬?

不要看其他的源代码,而是尝试开始编写自己的源代码。

顺便说一句,我同意Simon的评论

  

这个问题似乎是偏离主题的,因为它可能违反了软件许可条款和条件,而不是编程。向开发人员询问代码,或者如果是开源代码,请下载代码。否则,你没有权利这样做