有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java dex2jar和JDGUI标签语句

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

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

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

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

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


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

这与这次清洁有关吗


共 (1) 个答案

  1. # 1 楼答案

    进一步研究:

    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循环

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

    谢谢