dex2jar和JD-GUI标签语句

时间:2013-11-07 13:27:58

标签: java android jar dex2jar

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

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

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

    // more code here
     label279: short[] aos = { 0, 0 };

它是由编译器(或Obfuscate)添加的东西吗?有没有其他工具可以用来避免这些标签?


如果发现这个 https://code.google.com/p/dex2jar/source/browse/dex-ir/src/main/java/com/googlecode/dex2jar/ir/ts/CleanLabel.java?r=e8b872fdfce8a5a39aa7df083c46ec724fa8d3f4

是否与此清洁有关?

1 个答案:

答案 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;
}

label100仍然是一个谜......想知道dex2jar在不知道代码的情况下如何处理这些情况。

:运算符的存在也表明可能存在for each循环

如果将来某个时候这个谜团得到解决,请通知我。

感谢。