无名 发表于 2022-5-8 19:33:15

【HR】给小白的一些知识语法鸭,嘿嘿快来看看呐~


http://cdn.u1.huluxia.com/g4/M01/52/31/rBAAdmB3z6iAEY7OAADI060aFAs534.jpg

送给小白的一些基本知识(本人也是小白啦[蹭]),有用就记得收藏点赞呐~[蹭]http://cdn.u1.huluxia.com/g4/M00/51/CB/rBAAdmB3efmAK98cAACEPHpBFBk112.jpg
Smali基本语法
.field private isFlag:z  定义变量

.method  方法

.parameter  方法参数

.prologue  方法开始

.line 12  此方法位于第12行

invoke-super  调用父函数

const/high16v0, 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_**

======================

if函数的java代码:

private boolean ifSense(){
      boolean tempFlag = ((3-2)==1)? true : false;
      if (tempFlag) {
            return true;
      }else{
            return false;
      }
    }
if函数分析:

.method private ifSense()Z
    .locals 2

    .prologue
    .line 22
    const/4 v0, 0x1   // v0赋值为1

    .line 24
    .local v0, tempFlag:Z
    if-eqz v0, :cond_0            // 判断v0是否等于0, 不符合条件向下走, 符合条件执行cond_0分支

    .line 25
    const/4 v1, 0x1            // 符合条件分支

    .line 27
    :goto_0
    return v1

    :cond_0
    const/4 v1, 0x0            // cond_0分支

    goto :goto_0
.end method

###文字描述:如果符合if分支则程序往下走,最终return ; 而如果条件不符合则会走到 :cond_0分支 , 最终执行 goto :goto_0走回 :goto_0返回

======================

for函数java代码:

private void forSense(){
    listStr = new ArrayList<String>(COUNT);
    for (int i = 0; i < COUNT; i++) {
      listStr.add("现在轮到我上场乐");
    }
}

【剩下的看一楼评论鸭,字符太多了[蹭]】http://cdn.u1.huluxia.com/g4/M00/51/CB/rBAAdmB3efmARQqEAAQhRVzdF2E999.jpg

页: [1]
查看完整版本: 【HR】给小白的一些知识语法鸭,嘿嘿快来看看呐~