
Android Dalvik学习
Android系统攻城狮
《Android系统多媒体进阶实战》一书作者
展开
-
(Android)java虚拟机和Dalvik虚拟机的区别
Google于2007年底正式发布了Android SDK, 作为 Android系统的重要特性,Dalvik虚拟机也第一次进入了人们的视野。它对内存的高效使用,和在低速CPU上表现出的高性能,确实令人刮目相看。 依赖于底层Posix兼容的操作系统,它可以简单的完成进程隔离和线程管理。每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例, 其代码在虚拟机的解释下得以执行。转载 2016-06-08 10:55:31 · 598 阅读 · 0 评论 -
Dalvik虚拟机简要介绍和学习计划
我们知道,Android应用程序是运行在Dalvik虚拟机里面的,并且每一个应用程序对应有一个单独的Dalvik虚拟机实例。除了指令集和类文件格式不同,Dalvik虚拟机与Java虚拟机共享有差不多的特性,例如,它们都是解释执行,并且支持即时编译(JIT)、垃圾收集(GC)、Java本地方法调用(JNI)和Java远程调试协议(JDWP)等。本文对Dalvik虚拟机进行简要介绍,以及制定学习计划。转载 2016-06-08 11:50:48 · 454 阅读 · 0 评论 -
Android 反编译 -smali文件对比java文件
前面我们有说过android反编译的工具,如何进行反编译。反编译后可以得到jar或者得到smali文件。Android采用的是java语言 进行开发,但是Android系统有自己的虚拟机Dalvik,代码编译最终不是采用的java的class,而是使用的smali。我们反编译得到的代 码,jar的话可能很多地方无法正确的解释出来,如果我们反编译的是smali则可以正确的理解程序的意思。因此,我转载 2016-06-14 13:35:19 · 870 阅读 · 0 评论 -
深入理解Dalvik字节码指令及Smali文件
转自:http://blog.youkuaiyun.com/dd864140130/article/details/52076515今天来介绍有关Dalvik虚拟机相关的知识,首先便是介绍我们最关心的Dalvik字节码相关知识,进而深入到Android逆向领域.之所以写这篇文章,是因为有姑娘要学习这,再加上网上的许多资料太过零散和片面,当然,更重要的是为以前做个总结.Dalvik寄存器转载 2016-08-01 22:35:23 · 2372 阅读 · 0 评论 -
Smali语法汇总(一)
Opcode操作码(hex)Opcode name操作码名称Explanation说明Example示例00nop无操作0000 - nop01move vx, vy移动vy的内容到vx。两个转载 2016-10-01 23:06:07 · 1058 阅读 · 0 评论 -
Smali语法汇总(二)
Opcode操作码(hex)Opcode name操作码名称Explanation说明Example示例0Freturn vx返回在vx寄存器的值。0F00 - return v0返回v0寄存器中的值。10转载 2016-10-01 23:07:03 · 4117 阅读 · 0 评论 -
Android dalvik GC相关的属性详解
在dalvik中,GC的类型有三种:1、GC_EXPLICIT: 应用主动调用System.gc()产生的GC事件。2、GC_FOR_ALLOC: 内存分配时,发现可用内存不够时触发的GC事件。3、GC_CONCURRENT: 给Java层的class分配内存后,计算已分配的大小达到阈值(当前DVM heap size转载 2017-04-06 17:26:14 · 878 阅读 · 0 评论