Как интерпретировать эту разобранную строку, используя dedexer?

Ниже приведен фрагмент кода, разобранный с помощью dedexer в приложении для Android Market, в invoke-virtualЯ не понимаю, что может быть оригинальный код Java:

invoke-virtual {v0},[Lcom/google/android/providers/AbstractGDataSyncAdapter$ClientDiffType;/clone ; clone()Ljava/lang/Object;

[ должен быть массивом, тогда он вызывает clone метод на элементе в массиве типа com/google/android/providers/AbstractGDataSyncAdapter$ClientDiffType? Тогда почему ; между именем класса и именем метода clone? Ошибка в самом dedexer?

1 ответ

Решение

Имена классов начинаются с "L" и заканчиваются ";". Так [Lcom/google/android/providers/AbstractGDataSyncAdapter$ClientDiffType; это массив com.google.android.providers.AbstractGDataSyncAdapter.ClientDiffType

Я не знаю, что такое "/ клон"; синтаксис есть хоть. Похоже, что это может быть ошибка в dedexer. Клон () сразу после этого, очевидно, является методом.

"Затем он вызывает метод клонирования элемента в массиве" - это неверно. Он вызывает метод clone для всего массива, а не для элемента в массиве.

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