android smali 之HelloWorld

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网上搜索

你可能感兴趣的:(android smali 之HelloWorld)