Операторы меток dex2jar и JD-GUI

Я использовал dex2jar, чтобы получить jar из apk, а для просмотра использовал 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 ответ

Дальнейшие исследования:

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 петля

Если когда-нибудь в будущем эта тайна будет раскрыта, пожалуйста, сообщите мне тоже.

Благодарю.

Другие вопросы по тегам