收藏 分销(赏)

Smali语法解析.doc

上传人:精*** 文档编号:1655341 上传时间:2024-05-07 格式:DOC 页数:2 大小:3.80MB 下载积分:5 金币
下载 相关 举报
Smali语法解析.doc_第1页
第1页 / 共2页
Smali语法解析.doc_第2页
第2页 / 共2页
本文档共2页,全文阅读请下载到手机保存,查看更方便
资源描述
Smali语法解析 .class <访问权限> [修饰关键字] <类名> //指定了当前类名 .super <父类名> //指定了当前类的父类 .soucre <源文件名> //指定了当前类的源文件名 例如: 打开某反编译的smali文件: 该源程序结构如图所示:(包文件不考虑) 接下介绍的是字段(fields):声明字段使用“.field”指令 静态字段(static)在装载程序集就分配内存空间 实例字段(instance)要实例化才能使用,没有实例化不能使用 #static fields .field <访问权限> [修饰关键字] static 字段:字段类型 #instance fields .field <访问权限> [修饰关键字] 字段:字段类型 两者区别:后者少了static关键字。 比如以下的实例字段声明: .field private conn:Landroid/content/ServiceConnection; 表示声明一个私有字段conn;它的类型是“android/content/ServiceConnection;”。(注意分号不能丢) 如果一个类中有方法,那么必然有相关的发编译代码。方法的声明使用“.method”指令,“.end method”表示方法结束。 直接方法(direct) 虚方法(virtual) #direct methods .method <访问权限> [修饰关键字] <方法原型> <.locals> //声明局部变量的个数 [.parameter] //声明参数的个数 [.prologue] //指令的开始处 [.line] //指示在源代码的行数 <代码体> .end method 虚方法和直接方法相同,只是注释不同。 如果一个类实现了接口,会使用”.implememts”指令。 #interfaces .implememts <接口名> 如果一个使用了注释,会使用“.annotation”指令。 MemberClasses 注解是编译时自动加上的, MemberClasses 注解是一个“系统注解”,作用是为父类提供一个MemberClasses列表。MemberClasses即子类成员集合,通俗的讲就是一个内部类列表。 注释的格式: #annotations .annotation [注释属性] <注释类名> [注释字段=值] .end annotation
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服