整理Dalvik指令 和 APK文件结构
来源:互联网 发布:战锤狂鲨淘宝上一百多 编辑:程序博客网 时间:2024/05/01 19:47
看了个学习视频,整理了下Dalvik指令 备忘:
一、Dalvik指令集
1.v命名与p命名寄存器
v1 v2 v3-------
p1 p2 p3-------
2.Daalvik字节码类型描述符
V void 只能用于返回值类型
Z boolean 变量值只能是 真(true) 或 假(false)
B byte 字节型
S short 短整型
C char 字符型
I int 整数型
J long(64位) 长整型
F float 浮点型
D double(64位) 双精度浮点型
L java类类型 package.name.ObjectName Lpackage/name/ObjectName;
[ 数组类型 [I表示一个整型一维数组,等于java中的int[]。注意多位数数组的维数最大为255个。[[I=int[][] [[[I=int[][][]
3.跳转指令
if-eq 等于则跳转 ==
if-ne 不等于则跳转 !=
if-lt 小于则跳转 <
if-ge 大于或等于则跳转 >=
if-gt 大于则跳转 >
if-le 小于或等于则跳转 <=
goto 无条件跳转
switch 分支跳转
返回0 实现跳转
Pswitch_0
。。。
。。。
。。。
Pswitch_1
。。。
。。。
。。。
Pswitch_2
。。。
。。。
。。。
4.方法调用指令 invoke
5.数据定义指令 const const-string
const-string v1,“youren”
6.操作指令 move
move v1,v2,
=======================================================
.method
invoke-virtual {v1}, Ljava/lang/String;->length()I 取V1长度 12345 =5
move-result v2 将v1长度结果赋值给v2 v2=5
const/4 v3, 0x1 v3=1
goto :cond_1
if-ne v2, v3, :cond_0
:cond_1
...
...
...
...
...
:cond_0
return-void
.end method
============================================================
二、APK文件结构:
AndroidManifest.xml -配置清单
apktool.yml - 重新打包必须文件
assets - 资源
lib - native 动态库 so
res - 资源库
smali - classes.dex
META-INF -签名
resources.arsc- 语言包
- 整理Dalvik指令 和 APK文件结构
- Dalvik指令分析(三) dex文件的结构
- APK文件结构和安装过程
- Android-APK文件结构和安装过程
- apk文件结构和安装过程
- APK文件结构和安装过程
- Dalvik指令
- Apk文件结构
- Apk文件结构简介
- APK文件结构
- APK 的文件结构
- Android APK文件结构
- APK文件的结构
- android dex文件Dalvik指令到smali代码的解析
- Dalvik指令分析(二) 从java文件到dex
- 深入理解Dalvik字节码指令及Smali文件
- 深入理解Dalvik字节码指令及Smali文件
- Dockerfile 指令和结构
- Android GPS
- swift 04 流程控制
- 解决listView的活动冲突
- 使用eclipse和maven创建activiti项目基础配置
- cocoa编程,窗口响应鼠标点击事件
- 整理Dalvik指令 和 APK文件结构
- Python 的生成二维码生成库 -- qrcode
- angularjs filter 详解
- roslaunch xml 11 tags
- 设计模式总结篇 - 设计模式整体规划
- ftok()函数深度解析
- php面向对象知识点整体
- 欢迎使用CSDN-markdown编辑器
- checkbox全选反选