前言:没学过smali基础知识,纯个人理解
如图,这是一个关于支付失败的smali案例
另外建议用np管理器查询smali语法64534为了更好理解,需配合附件来使用
https://wwlw.lanzouy.com/iMncq0k95gkb
■第1行new-instance(新实例)
创建了一个实例对象:
Ljava/lang/StringBuilder;
实例的开头大写字母L一般来表示对象的数据类型
因此这个实例的对象是字符串(String)
分号表示结束
实例引用到寄存器v0
■第2行invoke-direct (直接调用)
invoke-direct {v0} Ljava/lang/StringBuilder;->()V
大括号直接调用了v0的实例,对象无效类型V(void)
->表示归属关系的方法名
■第3行invoke-virtual(虚拟调用的)
invoke-virtual {v0,v4} Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
讲到这就借助v4认识现有的函数调用指令:
invoke-virtual {v0,v4}(虚拟调用)
invoke-static {v4}(静态调用)
move-result-object v4(移动结果对象)
invoke-interface {v0,v4,v6} (调用接口)
const-string v4 (常量字符串)
new-instance v4 (新实例)
invoke-direct {v4,v0} (直接调用)
差不多到尾音了,因为主题就是认识到samli语法的流程,然后学会去分析,这样遇到问题就不会一头雾水了,想要更进一步学习的话多找相关资料。
本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果有侵权之处请第一时间联系我们删除。敬请谅解! E-mail:jiebeih@foxmail.com
暂无评论内容