Android 逆向学习之《Smail语法查询手册》

本文详细介绍了Dalvik字节码的基本构成元素,包括变量定义、方法调用、条件跳转等关键操作,并通过具体指令解释了其工作原理。

关键字


.field private isFlag:z 定义变量

.method  方法
.parameter  方法参数
.prologue   方法开始
.line 12   此方法位于第12行
invoke-super  调用父函数
const/high16   v0, 0x7fo3  把0x7fo3赋值给v0
invoke-direct   调用函数
return-void   函数返回void
.end method   函数结束
new-instance   创建实例
iput-object   对象赋值
iget-object   调用对象

invoke-static  调用静态函数


------------------------------------------------------------------------------------------------


条件跳转分支:


"if-eq vA, vB, :cond_**"     

如果vA等于vB则跳转到:cond_**


"if-ne vA, vB, :cond_**"          

如果vA不等于vB则跳转到:cond_**


"if-lt vA, vB, :cond_**"       

如果vA小于vB则跳转到:cond_**


"if-ge vA, vB, :cond_**"        

如果vA大于等于vB则跳转到:cond_**


"if-gt vA, vB, :cond_**"     

如果vA大于vB则跳转到:cond_**


"if-le vA, vB, :cond_**"     

如果vA小于等于vB则跳转到:cond_**


"if-eqz vA, :cond_**"         

如果vA等于0则跳转到:cond_**


"if-nez vA, :cond_**"       

如果vA不等于0则跳转到:cond_**


"if-ltz vA, :cond_**"        

如果vA小于0则跳转到:cond_**


"if-gez vA, :cond_**"       

如果vA大于等于0则跳转到:cond_**


"if-gtz vA, :cond_**"        

如果vA大于0则跳转到:cond_**


"if-lez vA, :cond_**"        

如果vA小于等于0则跳转到:cond_**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值