Java dex2jar和JD-GUI标签语句

Java dex2jar和JD-GUI标签语句,java,android,jar,dex2jar,Java,Android,Jar,Dex2jar,我使用dex2jar从apk获取jar,并使用JD-GUI查看它 但我注意到有如下标签符号 if (this.data.length != 7) break label279; // more code here label279: short[] aos = { 0, 0 }; 它是由编译器添加的(或混淆的)?有没有其他工具可以用来避免这些标签 如果你找到这个 这与这次清洁有关吗?进一步研究: if (Math.abs(k) &

我使用dex2jar从apk获取jar,并使用JD-GUI查看它

但我注意到有如下标签符号

      if (this.data.length != 7)
              break label279;

    // more code here
     label279: short[] aos = { 0, 0 };
它是由编译器添加的(或混淆的)?有没有其他工具可以用来避免这些标签


如果你找到这个

这与这次清洁有关吗?

进一步研究:

if (Math.abs(k) > this.mMaxRotationAngle)
  if (k >= 0)
    break label100;
label100: for (k = -this.mMaxRotationAngle; ; k = this.mMaxRotationAngle)
{
  transformImageBitmap((ImageView)paramView, paramTransformation, k);
  break;
}
根据上述自然观察代码,我将代码更改为:

if (Math.abs(k) > this.mMaxRotationAngle)

// label100: 
for (k = -this.mMaxRotationAngle; ; k = this.mMaxRotationAngle)
{
  if (k >= 0)
    break;// label100;
  transformImageBitmap((ImageView)paramView, paramTransformation, k);
 // break;
}
尽管如此,
标签100仍然是个谜。。。想知道dex2jar在不知道代码的情况下如何处理这些情况

运算符的存在还表明每个
循环可能有一个

如果在将来的某个时候这个谜团被解开了,那么请也通知我


谢谢。

我对此也很好奇。在我看到的代码中,我看到
breaklabel200当代码不在标签200中且标签200位于定义为
for(;;)
的for循环中时,我不确定这是由混淆引起的还是问题所在。我所知道的是,很明显,从一个不在其中的标签跳出到for循环中的标签中肯定不会编译。所以这不可能是字节码的意思。