Android 反编译 -smali文件对比java文件

smali文件对比java文件
.class :类名
.super :父类
.source :源文件名
.implements :继承的接口

    .field        :类成员变量
    .method        :类方法
    .parameter          :函数参数  p1,p2...

    .locals x        :局部变量(个数)

    const/16 v0, 0x64            :int v0 = 0x64
    const/high16 v0, 0x7f03        :高16赋值
    const-wide v0, 0x4024051eb851eb85L
    const-string v0, "1111"        :字符串


    add-int v0, p0, p1    :v0 = p0 + p1(static函数参数 从p0 开始)
    sub-int v0, p1, p2    :v0 = p1 + p2(普通成员函数参数从 p1 开始)
    mul-int v0, p1, p2    :v0 = p1 * p2
    div-int v0, p1, p2    :v0 = p1 / p2

    add-int/2addr v0, v1    :v0+v1放到 v0所在的地址
    sub-int/2addr v0, p2    :v0-p2放到 v0所在的地址

    if-ne    :if(x != y)

    iput-object v0, p0, Lcom/xyz/smali/SmaliActivity;->string:Ljava/lang/String;    :成员变量 v0 = string;
    iget-object v0, p0, Lcom/xyz/smali/SmaliActivity;->mBtn:Landroid/widget/Button;     :关联成员变量

    sput v0, Lcom/xyz/smali/SmaliActivity;->OK:I    :sput 给static变量赋值
    sput-wide v0, Lcom/xyz/smali/SmaliActivity;->dou:D    :sput-wide 给static的宽字节变量赋值
    sput-object v0, Lcom/xyz/smali/SmaliActivity;->sss:Ljava/lang/String;
    sget v1, Lcom/xyz/smali/SmaliActivity;->OK:I    :关联static变量

    invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V    : this.super.onCreate();
    invoke-static {p1, p2}, Lcom/xyz/smali/SmaliActivity;->add(II)I        :调用静态函数  add(p1, p2)
    invoke-virtual {v0, p0}, Landroid/widget/Button;->setOnClickListener(Landroid/view/View$OnClickListener;)V    :调用虚函数

    move-result v0        :前面调用函数后,把结果放到 v0
    move-result-object v0    :前面调用函数返回的对象给 v0

    check-cast v0, Landroid/widget/Button;    :强制类型转换  mBtn = (Button) findViewById(R.id.btn);

    return-void      :return ;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BFP_BSP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值