最近看完丰虫大大的《Android软件安全与逆向分析》前三章,自己动手用smali写一个java加法程序和HelloWorld程序,也算对前期学习的一个总结。
1.java加法程序:
首先搭建好类文件的框架:
.class public Ltest2;
.super Ljava/lang/Object;
.source "test2.java"
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static main([Ljava/lang/String;)V
.registers 5
.prologue
return-void
.end method
注意:return-void这行不要忘记写,否则之后把smali文件转换成dex文件时会报错。
之后添加main()方法的功能:
.method public static main([Ljava/lang/String;)V
.registers 5
.prologue
#V0 V1 清零
const/4 v0, 0x0
const

本文介绍了作者在学习《Android软件安全与逆向分析》后,用smali语言编写的两个程序:一个实现加法功能,另一个显示“HelloWorld”。在加法程序中,详细阐述了smali代码的编写过程,并展示了如何将smali文件转换为dex文件并运行。HelloWorld程序同样展示了smali实现输出字符串的基本步骤,强调了在Android设备上运行dex文件时需要文件读写权限。
最低0.47元/天 解锁文章
1408

被折叠的 条评论
为什么被折叠?



