smali регистрирует утилиту / коллекцию ArrayList
Я хочу записать ArrayList, который напечатан как util/collection, но я не могу понять, каков правильный синтаксис. Для регистрации непосредственно или преобразования его в строку в smali.
Я попытался использовать iglogger, но когда я перекомпилировал с вставленным iglogger, он выдает ошибку, говорящую, что он не может smali iglogger.smali.
Есть ли документация для входа в систему smali? Я могу найти ее только для записи строки:
invoke-static {v0},Landroid/util/Log;->d(Ljava/lang/String;)I
Благодарю вас
1 ответ
Решение
Если вы хотите использовать IGLogger, вам нужно вызвать методы IGLogger. В настоящее время вы используете Android-класс Log.
Если вы хотите продолжать использовать IGLogger, вам нужно это:
invoke-static {v0}, Lcom/whatever/package/holds/iglogger;->d(Ljava/lang/String;)I # where v0 is a String. If v0 is your ArrayList you need to call toString() on it and store that result first
Тем не менее, имеет смысл использовать класс Log в Anroid:
invoke-virtual {v0}, Ljava/util/ArrayList;->toString()Ljava/lang/String; # where v0 is your ArrayList
move-result-object v1
const-string/jumbo v2, "SomeTag"
invoke-static {v2, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I