smali基本语法

admin 2020年12月18日09:30:50评论16 views字数 1495阅读4分59秒阅读模式

smali基本语法

 

最近小编看很多正在学习的朋友们都不知道smali语法,那今天小编就找了很多资料,在网上也整理了一些,弄成了干货,大家都可以来学习学习!

 

Smali概述:

 

我们都知道,Dalvik 虚拟机(Dalvik VM)是 Google 专门为 Android 平台设计的一套虚拟 机。区别于标准 Java 虚拟机 JVM 的 class 文件格式,Dalvik VM 拥有专属的 DEX 可执行文件 格式和指令集代码。smali 和 baksmali 则是针对 DEX 执行文件格式汇编器和反汇编器,反 汇编后 DEX 文件会产生.smali 后缀的代码文件,smali 代码拥有特定的格式与语法,smali 语 言是对 Dalvik 虚拟机字节码的一种解释。

 

Smali 语言起初是由一个名叫 JesusFreke 的 hacker 对 Dalvik 字节码的翻译,并非一种官 方标准语言,因为 Dalvik 虚拟机名字来源于冰岛一个小渔村的名字,JesusFreke 便把 smali 和 baksmali 取自了冰岛语中的“汇编器”和“反编器”。目前 Smali 是在 Google Code 上的一 个开源项目。

 

虽然主流的 DEX 可执行文件反汇编工具不少,如 Dedexer、IDA Pro 和 dex2jar+jd-gui, 但 Smali 提供反汇编功能的同时,也提供了打包反汇编代码重新生成 dex 的功能,因此 Smali 被广泛地用于 APP 广告注入、汉化和破解,ROM 定制等方面。

 

(来源丨smali学习笔记)

 

smali基本语法

基本数据型

smali类型     java类型V                  voidZ                  booleanB                  byteS                  shortC                  charI                   intJ                   long64位 需要2个寄存器存储)F                  floatD                 double64位 需要2个寄存器存储)
对象
smali对象                                        java对象Lpackage/name/ObjectName;             package.name.ObjectNameLjava/lang/String;                         java.lang.String
// L:表示这是一个对象类型// package/name:该对象所在的包// ;:表示对象名称的结束

数组

smali数组                               java数组[I                                    int[] 一维数组[[I                                   int[][] 二维数组[Ljava/lang/String                   String[] 对象数组注:每一维最多255个

变量

package/name/ObjectName;——>FieldName:Ljava/lang/String;
smali字段                           java字段public f1:Z                      public boolean f1;public f2:I                      public int f2;public f3:L               java/lang/Stringpublic String f3;
以上就是小编整理出来的smali基本语法了,如果朋友们觉得不够,小编的群里也有很多的工具包和书籍供大家学习!大家也可以扫码进行详细的了解!
 
群:779719294
 

smali基本语法

原文始发于微信公众号(映山红coin安全团队):smali基本语法

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2020年12月18日09:30:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   smali基本语法https://cn-sec.com/archives/1056444.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息