Smali语法汇总(一)
Opcode 操作码(hex) |
Opcode name 操作码名称 |
Explanation 说明 |
Example 示例 |
00 |
nop |
无操作 |
0000 - nop |
01 |
move vx, vy |
移动vy的内容到vx。两个寄存器都必须在最初的256寄存器范围以内。 |
0110 - move v0, v1 移动v1寄存器中的内容到v0。 |
02 |
move/from16 vx, vy |
移动vy的内容到vx。vy可能在64K寄存器范围以内,而vx则是在最初的256寄存器范围以内。 |
0200 1900 - move/from16 v0, v25 移动v25寄存器中的内容到v0。 |
03 |
move/16 |
未知注4 |
|
04 |
move-wide |
未知注4 |
|
05 |
move-wide/from16 vx, vy |
移动一个long/double值,从vy到vx。vy可能在64K寄存器范围以内,而vx则是在最初的256寄存器范围以内。 |
0516 0000 - move-wide/from16 v22, v0 移动v0,v1寄存器中的内容到 v22,v23。 |
06 |
move-wide/16 |
未知注4 |
|
07 |
move-object vx, vy |
移动对象引用,从vy到vx。 |
0781 - move-object v1, v8 移动v8寄存器中的对象引用到v1。 |
08 |
move-object/from16 vx, vy |
移动对象引用,从vy到vx。vy可以处理64K寄存器地址,vx可以处理256寄存器地址。 |
0801 1500 - move-object/from16 v1, v21 移动v21寄存器中的对象引用到v1。 |
09 |
move-object/16 |
未知注4 |
|
0A |
move-result vx |
移动上一次方法调用的返回值到vx。 |
0A00 - move-result v0 |
0B |
move-result-wide vx |
移动上一次方法调用的long/double型返回值到vx,vx+1。 |
0B02 - move-result-wide v2 移动上一次方法调用的long/double型返回值到v2,v3。 |
0C |
move-result-object vx |
移动上一次方法调用的对象引用返回值到vx。 |
0C00 - move-result-object v0 移动上一次方法调用的对象引用返回值到v0。 |
0D |
move-exception vx |
当方法调用抛出异常时移动异常对象引用到vx。 |
0D19 - move-exception v25 当方法调用抛出异常时移动异常对象引用到v25。 |
0E |
return-void |
返回空值。 |
0E00 - return-void 返回值为void,即无返回值,并非返回null。 |
Smali语法汇总(一)的更多相关文章
- Smali语法汇总(二)
Opcode 操作码(hex) Opcode name 操作码名称 Explanation 说明 Example 示例 0F return vx 返回在vx寄存器的值. 0F00 - return v ...
- Go语言语法汇总(转)
Go语言语法汇总 分类: 技术2013-09-16 14:21 3007人阅读 评论(0) 收藏 举报 go语言golang并发语法 目录(?)[+] 最近看了看GoLang,把Go语言的语法 ...
- Smali语法编程
Smali背景: Smali,Baksmali分别是指安卓系统里的Java虚拟机(Dalvik)所使用的一种.dex格式文件的汇编器,反汇编器.其语法是一种宽松式的Jasmin/dedexer语法,而 ...
- Smali语法
看阿里巴巴的<深入探索Android热修复>,里面的代码看不懂,一查才知道是Smali语法,百度了语法,转载如下 转载自smali 语言语法 1.smali apk文件通过apktool反 ...
- Smali语法简单介绍
Smali语言其实就是Davlik的寄存器语言: Smali语言就是android的应用程序.apk通过apktool反编译出来的都有一个smali文件夹,里面都是以.smali结尾的文件,文件的展示 ...
- Android 反编译 -smali语法
前言 前面我们有说过android反编译的工具,如何进行反编译.反编译后可以得到jar或者得到smali文件.Android采用的是java语言 进行开发,但是Android系统有自己的虚拟机Dalv ...
- mysql基础知识语法汇总整理(二)
mysql基础知识语法汇总整理(一) insert /*insert*/ insert into 表名(字段列表) values(值列表); --蠕虫复制 (优点:快速复制数据,测试服务器压力) in ...
- mysql基础知识语法汇总整理(一)
mysql基础知识语法汇总整理(二) 连接数据库操作 /*连接mysql*/ mysql -h 地址 -P 端口 -u 用户名 -p 密码 例如: mysql -u root -p **** /* ...
- Android逆向之smali语法宝典
0x01.前言 Android采用的是java语言进行开发,但是Android系统有自己的虚拟机Dalvik,代码编译最终不是采用的java的class,而是使用的smali.我们反编译得到的代码,j ...
随机推荐
- java类加载器——ClassLoader
Java的设计初衷是主要面向嵌入式领域,对于自定义的一些类,考虑使用依需求加载原则,即在程序使用到时才加载类,节省内存消耗,这时即可通过类加载器来动态加载. 如果你平时只是做web开发,那应该很少会跟 ...
- Python optparser库详解
一直以来对optparser不是特别的理解,今天就狠下心,静下心研究了一下这个库.当然了,不敢说理解的很到位,但是足以应付正常的使用了.废话不多说,开始今天的分享吧. 简介 optparse模块主要用 ...
- 《高性能MySQL》读书笔记(上)
<High Performance MySQL>真是本经典好书,从应用层到数据库到硬件平台,各种调优技巧.常见问题全都有所提及.数据库的各种概念技巧平时都有接触,像索引.分区.Shardi ...
- Java中for_each循环的使用
最近在看一些和安卓相关的书籍,看到了for_each这种循环结构,这是为了简化java的for循环而改造的一种方便使用的格式. 格式如下: for(数据类型 变量:集合) 语句块 接下来看一个例程: ...
- windows下实现win32俄罗斯方块练手,编程的几点心得
编程珠玑2阅读笔记: 1.使用c语言性能监视器,完成对代码的调优工作 2.关联数组: 拓扑排序算法,可以用于当存在遮挡的时候决定三维场景的绘制顺序. 3.小型算法中的测试与调试工具 脚手架程序:&l ...
- Android初级教程初谈自定义view自定义属性
有些时候,自己要在布局文件中重复书写大量的代码来定义一个布局.这是最基本的使用,当然要掌握:但是有些场景都去对应的布局里面写对应的属性,就显得很无力.会发现,系统自带的控件无法满足我们的要求,这个时候 ...
- Linux2.6--Linus电梯
内核为了处理来自IO层的请求,需要进行相应的优化,因为当请求很多时,且请求的块又都几种在一块,那么如果按照顺序处理这些请求无疑是很大的时间开销,所以,我们需要寻求方法来处理这种情况(当然, ...
- Android程序崩溃异常处理框架
目前我已经把框架放在了github了,地址如下:https://github.com/msdx/android-crash 使用方法见github上面的README.md. 本项目相关jar包已发布在 ...
- Cookie 进阶
Cookie作为一个客户端技术被广泛的应用着.我今天也来谈一谈我对Cookie的理解. 先来一个小菜(实现"上次登录时间") 具体的思路如下: 通过request.getCooki ...
- 怎么避免在类实现的cpp文件中不要多次进行类声明
方法1: 类的头文件中写 #pragma once class MyTeacher { public: MyTeacher(); ~MyTeacher(); }; 方法2: 类的头文件中写 #ifnd ...