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

.method constructor (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;->()V    return-void.end method

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

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

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

 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;->()V//本类继承自Thread 这里显示的调用基类的构造函数

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

//被混淆过了,看起来好丑g(f b,ArrayList a){    ma = a;    mb = b;}

未完持续。。。

参考链接

  1. s002android逆向安全初级篇之android smali语法总结

更多相关文章

  1. 【Android FFMPEG 开发】Android Studio 工程配置 FFMPEG ( 动态
  2. Android中切换屏幕方向时Activity生命周期函数执行情况分析
  3. Android兼容Java 8语法特性的原理分析
  4. Android入门篇三:使用静态变量在Activity之间传递数据
  5. android中实现全局变量
  6. adb环境变量配置
  7. Android:Groovy基础语法
  8. Android全局变量

随机推荐

  1. Android使用Fiddler模拟弱网络环境测试(转
  2. Android资源文件及文件夹介绍
  3. Android(安卓)studio edit view 边框显示
  4. [置顶] Android访问控制系统测试与评估
  5. Android(安卓)方法数 65k 问题
  6. Android(安卓)中性能优化之布局优化
  7. Rexsee API介绍:Android传感器系列之 - 磁
  8. Android(安卓)RIL 调试分析全记录
  9. (Android7.0)Android获取PID、TID、UID
  10. Android中FTP服务器、客户端搭建以及SwiF