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 ...
随机推荐
- require.js使用步骤
以superagent为例 1.设置lib目录 requirejs.config({ baseUrl: 'libs' }); 2. 使用SuperAgent require(['superagent' ...
- char能表示(-128~127)
char 的取值范围是 -128 ~127 注:数0的补码表示是唯一的: +0的补码=+0的反码=+0的原码=00000000 -0的补码=11111111+1=00000000(mod 2的8次方) ...
- hbase高性能读取数据
有时需要从hbase中一次读取大量的数据,同时对实时性有较高的要求.可以从两方面进行考虑:1.hbase提供的get方法提供了批量获取数据方法,通过组装一个list<Get> gets即可 ...
- 混合开发(一)——WebView开发高级技巧之加载网页以及JavaScript,加载进度条
混合开发(一)--WebView开发高级技巧之加载网页以及JavaScript,加载进度条 现在关于混合开发也越来越多了,很多人喜欢跟随,比如HB,比如RN,其实这东西很早就有这么一个概念了,而且说实 ...
- javascript之类型转换
JavaScript是一种无类型语言,但同时JavaScript提供了一种灵活的自动类型转换的处理方式.基本规则是,如果某个类型的值用于需要其他类型的值的环境中,JavaScript就自动将这个值转换 ...
- Oracle使用游标为所有用户表添加主键语句
应用场合:数据表新增自增一主键能加快数据表的访问速度,而且是整形的索引速度最快.本程序适合在导入Oracle数据库时删除不存在主键的情况下运行. 代码说明:所有的表主键字段名都设置为ID,如果已存在I ...
- Swift基础之:新的访问控制fileprivate和open
(转载的,暂时没有研究过这类语句,有空看看) 在swift 3中新增加了两种访问控制权限 fileprivate和 open.下面将对这两种新增访问控制做详细介绍. fileprivate 在原有的s ...
- 【一天一道LeetCode】#344. Reverse String
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Write a ...
- UNIX网络编程——并发服务器(TCP)
在迭代服务器中,服务器只能处理一个客户端的请求,如何同时服务多个客户端呢?在未讲到select/poll/epoll等高级IO之前,比较老土的办法是使用fork来实现. 网络服务器通常用fork来同时 ...
- 【unix网络编程第三版】阅读笔记(二):套接字编程简介
unp第二章主要将了TCP和UDP的简介,这些在<TCP/IP详解>和<计算机网络>等书中有很多细致的讲解,可以参考本人的这篇博客[计算机网络 第五版]阅读笔记之五:运输层,这 ...