初识[android逆向] smali

初识[android逆向] smali,烦请各位大佬多多海涵,小萌新一枚。

smali文件:
无论是普通类、抽象类、接口类或者内部类,在反编译出的代码中,它 们都以单独的smali 文件来存放。每个 smali 文件都由若干条语句组成, 所有的语句都遵循着一套语法规范。

1.描述类的信息
.class < 访问权限> [ 修饰关键字] < 类名>
.super < 父类名>
.source <源文件名>
2. 静态字段
#stantic fields
.field < 访问权限> static [ 修饰关键字] < 字段名>:< 字段类型>
3.实例字段
#instance fields
.field < 访问权限> [ 修饰关键字] < 字段名>:< 字段类型>
4.直接方法
#direct methods
.method <访问权限> [ 修饰关键字] < 方法原型>
<.locals> “.locals ”指定了使用的局部变量的个数
[.param] “.param”指定了方法的参数
[.prologue] “.prologue ”指定了代码的开始处
[.line] “.line ”指定了该处指令在源代码中的行号
<代码体>
.end method
5. 虚方法的声明与直接方法相同,只是起始处的注释为“virtual methods”。
6.接口
# interfaces
.implements < 接口名>“.implements ”是接口关键字,后面的接口
名是 DexClassDef 结构中 interfacesOff 字段指定的内容。
7.注解
# annotations
.annotation [ 注解属性] < 注解类名>
[ 注解字段 = 值]
.end annotation
注解的作用范围可以是类、方法或字段。如果注解的作用范围是类, “.annotation ”指令会直接定义在 smali 文件中,如果是方法或字段,“.annotation ”指令则会包含在方法或字段定义中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值