`
openxtiger
  • 浏览: 150825 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

[Android] Smali基本语法

 
阅读更多

field private isFlag:z  定义变量

 

.method  方法

 

.parameter  方法参数

 

.prologue  方法开始

 

.line 12  此方法位于第12行

 

invoke-super  调用父函数

 

const/high16  v0, 0x7fo3  把0x7fo3赋值给v0

 

invoke-direct  调用函数

 

return-void  函数返回void

 

.end method  函数结束

 

new-instance  创建实例

 

iput-object  对象赋值

 

iget-object  调用对象

 

invoke-static  调用静态函数

 

条件跳转分支:

 

"if-eq vA, vB, :cond_**"   如果vA等于vB则跳转到:cond_**

"if-ne vA, vB, :cond_**"   如果vA不等于vB则跳转到:cond_**

 

"if-lt vA, vB, :cond_**"    如果vA小于vB则跳转到:cond_**

"if-ge vA, vB, :cond_**"   如果vA大于等于vB则跳转到:cond_**

"if-gt vA, vB, :cond_**"   如果vA大于vB则跳转到:cond_**

"if-le vA, vB, :cond_**"    如果vA小于等于vB则跳转到:cond_**

 

"if-eqz vA, :cond_**"   如果vA等于0则跳转到:cond_**

"if-nez vA, :cond_**"   如果vA不等于0则跳转到:cond_**

 

"if-ltz vA, :cond_**"    如果vA小于0则跳转到:cond_**

"if-gez vA, :cond_**"   如果vA大于等于0则跳转到:cond_**

"if-gtz vA, :cond_**"   如果vA大于0则跳转到:cond_**

"if-lez vA, :cond_**"    如果vA小于等于0则跳转到:cond_**

分享到:
评论

相关推荐

    smali中文语法详细说明

    本文将详细介绍Smali的基本语法及其各种操作码的使用方式,这对于理解Android应用程序的工作原理、进行逆向工程分析以及代码调试具有重要意义。 #### 二、基本概念 - **寄存器**:在Smali中,所有的变量都存储在...

    Android逆向Smali语法【中文+英文】

    本资料集合包含了“Android逆向Smali语法”的中文和英文版,对于任何想深入研究Android应用逆向工程的人来说都是不可或缺的资源。 Smali语法是理解和操作Android应用底层代码的关键。它由一系列指令组成,这些指令...

    smali语法中文.pdf

    smali语法中文.pdf smali是一种基于栈的中间语言,用于Android应用程序的反...smali语法是 Android应用程序逆向工程和安全测试的重要工具,了解smali语法可以帮助我们更好地理解和分析 Android应用程序的内部机理。

    Android 反编译和smali语法用于ROM适配

    在smali语法中,寄存器是执行操作的基础单元,它们都是32位宽,能处理所有基本类型。对于64位的数据类型如long和double,需要使用连续的两个寄存器来存储。寄存器的命名有两种主要方式: - V命名法:用于通用寄存器...

    smali基本语法

    首先,Smali语法的基础元素包括字段定义、方法定义、参数、流程控制等。例如: `.field private isFlag:z` 定义了一个名为isFlag的私有布尔型变量。 `.method` 开始一个方法的定义,`.parameter` 用于声明方法参数...

    SMALI语法中文.pdf.zip

    本文档将详细介绍SMALI语法及其在Android开发中的应用。 **1. SMALI基本结构** SMALI代码由一系列指令组成,每条指令占一行,由操作码、操作数和注释(可选)组成。例如: ``` .method public constructor ()V ....

    Android-通过精简Smali语法细节来增强反编译代码阅读性自定义了一种简单语法

    针对这一问题,"Android-通过精简Smali语法细节来增强反编译代码阅读性自定义了一种简单语法"的项目提出了一种解决方案。 该方案的目标是优化Smali代码的可读性,使得开发者能够更轻松地理解和分析反编译出的代码。...

    smali语法高亮文件

    首先,我们要理解Smali语法的基本结构。Smali语法遵循Dalvik虚拟机的指令集,每个指令通常由操作码(opcode)、操作数(operands)以及可能的注释组成。例如,`move`指令用于将一个寄存器的值移动到另一个寄存器: ...

    Smali语法学习与DEX文件详解

    了解Smali语法对于理解APK的工作原理、调试或修改应用程序行为非常有帮助。 1. **Dalvik字节码** - 在Dalvik虚拟机中,每个寄存器都是32位的,可以存储任何类型的数据。64位类型的Long和Double则使用两个连续的...

    smali 语法 高亮

    标题中的"smali语法高亮"指的是在Notepad++中为smali代码设置特定的颜色和样式,使得关键字、常量、变量和注释等各部分有明显的区分,提高代码的视觉效果,帮助开发者快速识别和解析语句结构。这在处理大量smali代码...

    smali 语法高亮 for sublime text

    **正文** `smali`是一种低级的...总之,"smali 语法高亮 for sublime text"是Android逆向工程和调试过程中不可或缺的工具,它提高了`smali`代码的可读性,使开发者能够更加有效地处理和理解Android应用的底层细节。

    smali语法(中文)

    中文版的smali语言语法。是学习android反编译的必须文档。

    安卓逆向smali语法

    内容概述:本指南旨在介绍安卓应用逆向工程中使用的SMALI语法,涵盖了SMALI语言的基本语法结构、指令集以及常见的逆向分析技巧。通过学习本指南,读者将能够理解和分析安卓应用程序的SMALI代码,从而进行逆向工程和...

    smali语法.pdf

    ### Smali语法详解 #### 一、概述 Smali是一种基于文本的人可读中间语言,用于Dalvik虚拟机(DVM)字节码。它与Java的字节码类似但并非完全相同,主要应用于Android应用的逆向工程、调试及修改。本文档将详细介绍...

    Android Smali第一次完整的见面

    Smali语言使用特定的语法来展示类定义、方法、字段以及其他组件。 当涉及到HTC SENSE的经典界面全屏来电大头贴时,步骤包含了:解开apk文件、提取资源文件与classes.dex文件、使用反编译工具将dex文件转换为smali...

    smali语法中文.doc

    smali语法是理解Android应用程序底层运行机制的关键工具,通过它可以查看和修改DEX文件中的指令,这对于调试、优化和逆向工程具有重要意义。熟悉smali指令和其工作原理能帮助开发者深入理解Android应用的执行流程,...

    smali语法.doc

    了解Smali语法对于Android应用的逆向工程和调试至关重要。以下是对Smali语法核心部分的详细解析: 1. **寄存器与数据类型**: Smali指令主要基于寄存器操作,如`vx`、`vy`、`vz`代表Dalvik虚拟机的寄存器。每个...

    smali中文手册.zip

    文件夹内为smali语法中文手册(word版),介绍如下: Dalvik 虚拟机( Dalvik VM) 是 Google 专门为 Android 平台设计的一套虚拟机。 区别于标准 Java 虚拟机 JVM 的 class 文件格式, Dalvik VM 拥有专属的 DEX ...

    smali学习资料大全

    3. **Smali语法:Registers(寄存器).txt** 寄存器在smali中起着至关重要的作用,因为它是指令操作的主要数据存储区域。这份文档详细解释了smali中的寄存器系统,包括如何分配和使用寄存器,以及它们在函数调用中的...

    Smali开发详解-便宜版

    Smali语法类似于汇编语言,每一行代码都对应着Dalvik虚拟机的一个指令。文中还提到了一些参考资料和文档历史修改记录,以便开发者跟进文档的更新和参考。 Smali开发详解的目的是为了让开发者能够通过Smali工具对...

Global site tag (gtag.js) - Google Analytics