【发布时间】:2012-07-26 14:28:16
【问题描述】:
序幕
我正在尝试学习使用 Smali/Baksmali 汇编器/反汇编器处理 dex 文件的 DalvikVM 指令。
问题
来自这个 java 文件
package gd;
class Hello {
public static void main(String[] args)
{
System.out.println("Hello!");
}
}
我已经生成了以下 smali 汇编文件:
.class Lgd/Hello;
.super Ljava/lang/Object;
.source "Hello.java"
# direct methods
.method constructor <init>()V
.registers 1
.prologue
.line 3
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static main([Ljava/lang/String;)V
.registers 3
.parameter
.prologue
.line 6
sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
const-string v1, "Hello!"
invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
.line 7
return-void
.end method
我的问题是关于以下行。
sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
据我了解,这会将java.lang.System 类的静态对象PrintStream 加载到v0 寄存器中。现在,out: 是什么意思?
【问题讨论】: