Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以完全消除java项目的混淆?_Java_Android - Fatal编程技术网

是否可以完全消除java项目的混淆?

是否可以完全消除java项目的混淆?,java,android,Java,Android,我正在尝试反编译.apk以获得源代码。我遵循了一些教程,最终从.apk获得了项目。但所有的包都位于com文件夹,src文件夹是空的。当我试图将它们移动到src文件夹时,我在每个类中都遇到了错误,因为项目是模糊的。是否可以消除所有这些类的模糊。下面的代码说明了这一点。所有这些a、b、ab、c等都是模糊的类和方法。是否可以消除它们的模糊 public void a(int paramInt1, int paramInt2, int paramInt3, int paramInt4) {

我正在尝试反编译.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);
  }
public void a(int-paramInt1、int-paramInt2、int-paramInt3、int-paramInt4)
{

如果((this.H)&&(paramInt4>=482-this.ab.c)&(paramInt4),您可以通过使用dex2jar、JDecompiler或您正在使用的任何反编译器工具大致了解代码结构

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

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

不要看别人的源代码,试着开始编写自己的源代码

顺便说一下,我同意西蒙的意见


这个问题似乎离题了,因为它可能与违反软件许可条款和条件有关,而不是与编程有关。向开发人员索取代码,或者,如果是开源的,下载代码。否则,您无权这样做


如果你知道每个类和每个方法的原始名称,你可以使用像Eclipse这样的IDE的重构/重命名功能。如果你不知道任何原始名称,那么你就无能为力了。自动?不。但是你可以手动重新创建有意义的名称。这个问题似乎离题了,因为它可能与v有关违反软件许可条款和条件,与编程无关。向开发人员索要代码,或者,如果是开源的,下载代码。否则,你无权这么做。手工?是的。分析逻辑并尝试理解所有的a和b。我们能自动完成吗?不是真的。你可能想试试Java Deobfousator(JDO)。它只是让所有内容都更具可读性。有理由这样做,而无意侵犯版权。一个例子是,如果您被迫使用第三方库,其中包含糟糕的文档,并且需要知道某个函数正在做什么。