smali 记录一个 util/collection ArrayList

smali logging an util/collection ArrayList

我想记录一个类型为 util/collection 的 ArrayList,但我不知道正确的语法是什么。用于直接记录它或将其转换为 smali 中的字符串。

我尝试使用 iglogger,但是当我重新编译时插入了 iglogger,它抛出一个错误,说它不能 smali iglogger.smali。

那里有smali登录的文档吗?我只能找到它来登录一个字符串:

invoke-static {v0},Landroid/util/Log;->d(Ljava/lang/String;)I

谢谢

如果要使用IGLogger,需要调用IGLogger的方法。当前您正在调用 Android 的日志 class。

如果您想继续使用 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

然而,使用 Anroid 的日志确实更有意义 class:

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