java汇编运行流程
1.新建HelloWorld.smali文件,文件内容如下:
:-->
.class public LHelloWorld;
.super Ljava/lang/Object;
.method public static main([Ljava/lang/String;)V
.registers 4
#注释
.prologue
nop
nop
nop
nop
sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
const-string v1, "Hello World 1234 你好"
invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
:goto_0
return-void
.end method
2.编译与执行
编写hello.sh脚本,脚本内容如下:
:-->
lsusb
adb devices
java -jar smali-2.0.3.jar -o classes.dex HelloWorld.smali
adb push classes.dex /data/test
adb shell dalvikvm -cp /data/test/classes.dex HelloWorld
输出结果如下:
:-->
11 KB/s (688 bytes in 0.057s)
Hello World 1234 你好
smali-2.0.3.jar网上搜索
1.新建HelloWorld.smali文件,文件内容如下:
:-->
.class public LHelloWorld;
.super Ljava/lang/Object;
.method public static main([Ljava/lang/String;)V
.registers 4
#注释
.prologue
nop
nop
nop
nop
sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
const-string v1, "Hello World 1234 你好"
invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
:goto_0
return-void
.end method
2.编译与执行
编写hello.sh脚本,脚本内容如下:
:-->
lsusb
adb devices
java -jar smali-2.0.3.jar -o classes.dex HelloWorld.smali
adb push classes.dex /data/test
adb shell dalvikvm -cp /data/test/classes.dex HelloWorld
输出结果如下:
:-->
11 KB/s (688 bytes in 0.057s)
Hello World 1234 你好
smali-2.0.3.jar网上搜索