文档章节

smail语言语法

m
 mlianghua
发布于 2015/06/06 21:27
字数 689
阅读 77
收藏 0

.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_**

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

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("现在轮到我上场乐");
    }
}
复制代码

 

for函数分析:

复制代码
.line 40 const/4 v0, 0x0 .local v0, i:I
    :goto_0 if-lt v0, v3, :cond_0 // if-lt判断数值v0小于v3 ,    如不符合往下走, 符合执行分支 :cond_0  .line 43 return-void .line 41 :cond_0 // 标签 iget-object v1, p0, Lcom/example/smalidemo/MainActivity;->listStr:Ljava/util/List; // 引用对象 const-string v2, "\u73b0\u5728\u8f6e\u5230\u6211\u4e0a\u573a\u4e50" invoke-interface {v1, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z // List是接口, 所以执行接口方法add  .line 40 add-int/lit8 v0, v0, 0x1    // 将第二个v0寄存器中的值,加上0x1的值放入第一个寄存器中, 实现自增长 goto :goto_0 // 回去:goto_0标签  ###文字描述:设定一个标签goto_0, 判断v0小于v3, 符合执行分支:cond_0 ,然后又跑回:goto_0做继续判断
复制代码

 

 

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

 读完这篇链接文章,就基本入门了。http://blog.csdn.net/lpohvbe/article/details/7981386

本文转载自:http://blog.csdn.net/lpohvbe/article/details/7981386

m
粉丝 0
博文 16
码字总数 15
作品 0
杭州
私信 提问
android逆向

安卓逆向功能开发。需要了解smail语法,so动态调试,已知加密使用的是梆梆第四代企业版,价格可以商量

Bruce_s
2017/09/11
61
2
SQL 学习日志01

查看一个数据库的所有表: Select TABLE_NAME FROM 数据库名称.INFORMATION_SCHEMA.TABLES Where TABLE_TYPE='BASE TABLE' (select * from 表名 where 条件) 查看一张表的表结构: sphelp......

kaijin1115
2014/05/04
0
0
手把手教你搞懂 Android 反编译

前言 反编译别人的程序不是什么值得炫耀的事,希望大家最好只是兴趣探索,而不是利益驱动。本文主要目的是绕开一个简单的激活程序。 什么是反编译 我们知道,Android的程序打包后会生成一个A...

朱园
2016/07/04
48
0
apk反编译smail修改并打包

一,工具 apktoolkit,onekeydecompileapk 二,smail修改相应变量 ,int,string...etc 三,xml文件相关文字可自行修改 四,重打包;利用apktoolkit :重建.apk,签名.apk 完成打包过程。 五,...

YKIT
2016/08/31
60
0
Android kotlin和java反编译后的smali 有什么区别?

转载请标明出处: http://blog.csdn.net/DJY1992/article/details/72488456 本文出自:【奥特曼超人的博客】 kotlin反编译后的smali 有什么区别? 以前有使用过Kotlin,后来觉得不习惯就放弃了...

DJY1992
2017/05/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx学习笔记

中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。 是连接两个独立应用程序或独立系统的软件。 web请求通过中间件可以直接调用操作系统,也可以经过中间件把请求分发到多...

码农实战
今天
5
0
Spring Security 实战干货:玩转自定义登录

1. 前言 前面的关于 Spring Security 相关的文章只是一个预热。为了接下来更好的实战,如果你错过了请从 Spring Security 实战系列 开始。安全访问的第一步就是认证(Authentication),认证...

码农小胖哥
今天
12
0
JAVA 实现雪花算法生成唯一订单号工具类

import lombok.SneakyThrows;import lombok.extern.slf4j.Slf4j;import java.util.Calendar;/** * Default distributed primary key generator. * * <p> * Use snowflake......

huangkejie
昨天
12
0
PhotoShop 色调:RGB/CMYK 颜色模式

一·、 RGB : 三原色:红绿蓝 1.通道:通道中的红绿蓝通道分别对应的是红绿蓝三种原色(RGB)的显示范围 1.差值模式能模拟三种原色叠加之后的效果 2.添加-颜色曲线:调整图像RGB颜色----R色增强...

东方墨天
昨天
11
1
将博客搬至CSDN

将博客搬至CSDN

算法与编程之美
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部