0
点赞
收藏
分享

微信扫一扫

移动安全-Android系统框架与Davlik指令集

Android系统框架

移动安全-Android系统框架与Davlik指令集_寄存器

移动安全-Android系统框架与Davlik指令集_jar_02四大组件

Activity组件

移动安全-Android系统框架与Davlik指令集_数据_03

移动安全-Android系统框架与Davlik指令集_jar_04Activity组件即我们看到的APP的每个页面,每个activity都要卸载androidxxx.xml文件中 Activity组件生命周期 oncreate方法在程序打开时创建一个页面,即首页,但是用户还不能看见该页面 onstart方法启动开见面,此时用户可以看见该页面,但用户无法点击 onresume方法,获得焦点,此时页面可以被操作 onpause方法:在挂起到后台或者结束运行,返回一个面时被调用 onstop方法:和onpause方法一样 ondestory:在正常退出程序时调用 不同activity之间传输数据用Intent

Service组件

Service;为服务、个人理解就是一个一个功能、比如播放音乐就是一个service service有以下俩种启动方式、service的三种生命周期onstart、oncreate、ondestory startService:调用者调用stop自动调用destory、没有stop,会在后台一直运行,包括直接结束APP binservice:与调用者同生共死、如一个activity调用service、退出该activity,该service自动停止 创建一个播放音乐服务的讲解 1、创建一个MusicActivity、设置setcontentview,绑定按钮findViewById、设置意图、 写init方法创建一个按钮监听器onclickListener,利用switch语句调用响应按钮方法,start(intent)调用startservice进而调用music中的onstart方法 最后利用setsetOnClickListener为按钮设置监听器 创建一个activity,调用Init方法、 写一个service实现Onstart oncreate ,ondestory on bind unbind方法

Broadcast组件

Android broadcast receiver组件有以下案例、外拨电话,短信到来 电池电量低 sd卡状态 卸载安装  开机启动等等 个人理解就是接收一个信号

Content Provider内容提供者


移动安全-Android系统框架与Davlik指令集_寄存器_05

移动安全-Android系统框架与Davlik指令集_寄存器_06

安卓数据存储方式

Sharedpreference存储方式

0即为私有的操作


移动安全-Android系统框架与Davlik指令集_寄存器_07

移动安全-Android系统框架与Davlik指令集_jar_08文件存储数据方法

移动安全-Android系统框架与Davlik指令集_jar_09

移动安全-Android系统框架与Davlik指令集_jar_10SQLite数据库存储方式

查看/data/data/包名/databases/存放着sqlite的数据库文件

APK打包流程

移动安全-Android系统框架与Davlik指令集_数据_11

移动安全-Android系统框架与Davlik指令集_寄存器_12dex文件为源码文件 Resouices.asrc为R.java文件经过AAPT的产物 其他资源未见包括libs res andoidmanifast文件 Meta-inf时签名后的产物 META-INF目录存放的是所用到的证书签名文件,包括:MANIFEST.MF(摘要文件)、 CERT.SF和CERT.RSA。其中MANIFEST.MF文件是对每个文件的SHA-256-Digest;CERT.SF是对每个文件的头3行进行SHA-256-Digest;CERT.RSA这个文件保存了签名和公钥证书

APP启动流程

移动安全-Android系统框架与Davlik指令集_jar_13

移动安全-Android系统框架与Davlik指令集_寄存器_14Dalvik

Dalvik字节码

1、Dalvik寄存器,可以存放任意类型数据,<=32位一个寄存器、一次类推 2、寄存器命名法 v命名发: 局部变量寄存器:v0-vn 参数寄存器:vn-vn+m p命名法 变量寄存器:v0-vn 参数寄存器:p0-pn

移动安全-Android系统框架与Davlik指令集_jar_15

移动安全-Android系统框架与Davlik指令集_jar_163、dex文件反编译工具 java编译成.calss,编译成.dex,反编译成smail .java---->.class--->.dex-->.smail jx.jar:.calss->.dex dx -dex --output=com.xxx.demo/src/xxx.class Bksmail:.dex->.smail java -jar bksmail.jar -o smail_out/ xxx.dex smail.jar:.samil打包成.dex java -jar smail.jar smail_out -o xxx.dex 4、Davlvik字节码类型

移动安全-Android系统框架与Davlik指令集_jar_17

移动安全-Android系统框架与Davlik指令集_数据_185、字段(即变量) Lpackage/name/ObjectName;->FieldName:Ljava/lang/String 某个报下名为objectname的类存放名为Fieldname的String类型变量 6、方法 Lpacjage/name/objectname;->methodname(III) Z 某个包下名为objectname的类存放有名为methodname的方法,该方法有三个int的参数,方法返回类型为布尔类型

Davlik指令集

移动安全-Android系统框架与Davlik指令集_jar_19

13中davlik指令 1、空操作指令的助计符为nop。他的值为00,通常为nop指令被用来作对齐代码之用,无实际操作。2、数据操作指令 move move VA,VB 将VB寄存器的值赋给VA寄存器、原寄存器与目的寄存器都为4位 move /form16 vAA,vBBBB寄存器的值赋给VAA寄存器,源寄存器为16位,目的寄存器为8位

移动安全-Android系统框架与Davlik指令集_寄存器_20

move-result VAA:接收方法的返回值放到VAA寄存器中

移动安全-Android系统框架与Davlik指令集_寄存器_21

3、返回指令 return就是返回指令的意思

移动安全-Android系统框架与Davlik指令集_数据_22

4、数据定义指令 数据定义指令用来定义程序中用到的常量、字符串、类等数据

移动安全-Android系统框架与Davlik指令集_数据_23

5、实例操作指令 Instance-of:判断是不是某类的实例

移动安全-Android系统框架与Davlik指令集_jar_24

6、数组操作指令

移动安全-Android系统框架与Davlik指令集_数据_25

移动安全-Android系统框架与Davlik指令集_数据_268、跳转指令

移动安全-Android系统框架与Davlik指令集_jar_27

9、比较指令

移动安全-Android系统框架与Davlik指令集_数据_28

移动安全-Android系统框架与Davlik指令集_数据_29

10、字段操作指令 普通字段:iget/读 input/写 静态字段:sget读/sput写 put从左到右 p0为this get从到左

11、方法调用


移动安全-Android系统框架与Davlik指令集_jar_30

移动安全-Android系统框架与Davlik指令集_数据_3112、数据转换指令

移动安全-Android系统框架与Davlik指令集_寄存器_32

移动安全-Android系统框架与Davlik指令集_jar_3313、数据运算指令

移动安全-Android系统框架与Davlik指令集_数据_34

移动安全-Android系统框架与Davlik指令集_数据_35



举报

相关推荐

0 条评论