845人加入学习
(1人评价)
Android安全

移动安全培训-Android基础篇

价格 ¥ 999.00
该课程属于 武官课程 请加入后再学习

Dalvik指令集练习

smali文件

.class public LHelloWorld; #定义类名

.super Ljava/lang/Object; #定义父类

#声明静mian()方法

.method public static main(Ljava/lang/String;)V

   #程序中使用v0 v1 v2 v3寄存器与一个参数寄存器

    .registers 4

    .parameter    #一个参数

    .prologue      #代码起始指令

    #空指令

    nop

    nop

    nop

    nop

    #数据定义指令

    const/16 v0, 0x8

    const/4

    return-void    #返回空

.end method

[展开全文]

Dalvik虚拟机

dex可执行文件

每个进程对应一个Dalvik虚拟机实例

Zygote启动进程:

  • fork(),创建一个Zygote进程
  • forkAndSpecialize(),创建一个非Zygote进程,应用进程
  • forkSystemServer(),创建一个系统服务进程

Dalvik虚拟机执行程序流程

JIT:即时编译

主流的JIT包含字节码编译方式:

  • method方式:以函数或方法为单位进行编译
  • trace方式:以trace为单位进行编译
  • 冷路径:执行比较少的函数路径
  • 热路径:执行比较频繁的函数路径

 

 

 

[展开全文]
siwen · 2018-04-12 · Dalvik虚拟机 0

授课教师

课程特色

视频(28)
下载资料(1)