前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >s003android逆向安全初级篇之apk smali语法之实例分析

s003android逆向安全初级篇之apk smali语法之实例分析

作者头像
上善若水.夏
发布2018-09-28 10:44:21
4540
发布2018-09-28 10:44:21
举报
文章被收录于专栏:上善若水

结合上一篇对smali语法的总结,对遇到的一些实例进行分析

代码语言:javascript
复制
.method constructor <init>(Lcom/android/netprovider/b/f;Ljava/util/ArrayList;)V
    .locals 0

    iput-object p1, p0, Lcom/android/netprovider/b/g;->b:Lcom/android/netprovider/b/f;

    iput-object p2, p0, Lcom/android/netprovider/b/g;->a:Ljava/util/ArrayList;

    invoke-direct {p0}, Ljava/lang/Thread;-><init>()V

    return-void
.end method

这是一个构造函数,包含三个参数

  1. 类本身的this指针
  2. Lcom/android/netprovider/b/f类型的对象
  3. Ljava/util/ArrayList类型的对象

.locals 0指明本有本地变量。于是以上三个形参分别对应的寄存器代号为p0,p1,p2

代码语言:javascript
复制
 iput-object p1, p0, Lcom/android/netprovider/b/g;->b:Lcom/android/netprovider/b/f;
 iput-object p2, p0, Lcom/android/netprovider/b/g;->a:Ljava/util/ArrayList;
//分别用传递过来的两个参数,初始化给类的两个成员变量b和a。
invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
//本类继承自Thread 这里显示的调用基类的构造函数

综上,将如上代码,转换为java代码为:

代码语言:javascript
复制
//被混淆过了,看起来好丑
g(f b,ArrayList a){
    ma = a;
    mb = b;
}

未完持续。。。

参考链接

  1. s002android逆向安全初级篇之android smali语法总结
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016.01.23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 参考链接
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档