今天我们一起来学习一下Android与ARM处理器,这节课东西有点多,大家可以拿小本本记好,不懂的也可以来问我哦。
首先我们先来了解一下咱们今天要讲解的内容。
目录
[if !supportLists]1、[endif]初步认识ARM
[if !supportLists]2、[endif]初步了解ARM与Android之间关系
初步认识ARM
AMR处理器的概率:
ARM处理器是一个32位精简指令集处理器架构,广泛的使用在许多嵌入式系统的一个设计。
ARM类型:
ARM指令 32位
Thumb指令 16位
Thumb2指令 32位
除了thumb指令是16位,其他两个都是32位的。
ARM处理器的特点
优点:
设计目标低成本、高性能、低耗电
ARM的优势不在于性能强大,而在于它的效率,ARM采用的是RISC流水线指令集,在完成综合性能方面根本就处于一种
缺点:
存储、内存等性能扩展难以进行
ARM与Android的关系
当然我们在c语言中也是可以编写ARM指令的,我们在这里大概去了解一下就行了。
Android操作系统
[if !supportLists]1、[endif]Android嵌入式智能操作系统是基于linux内核
[if !supportLists]2、[endif]Linux是基于ARM平台
首先我们必须先了解ARM平台、Android移植与驱动核心开发(当然也可以是x86或者是其他平台)并不是开发很多,Android嵌入式智能操作系统是基于liunx内核,既然我们Android操作系统的底层是liunx内核,那我们就非常好理解,嵌入式系统liunx这个基于ARM平台,liunx是基于ARM平台。
原生程序与arm汇编的关系
可执行程序->.mk文件->相关配置->才能在Android平台运行
可执行程序就是原生程序,我们编写的可执行程序,在两个.mk文件里做了一些相关的配置才使得我们写的这个程序才能在Android平台下运行起来,所以依赖的就是我们的一个ARM平台
反编译可执行程序
.dex文件 ->smail汇编
可执行程序->ARM汇编
我们之前学过将.dex文件反编译成smail文件,也就是smail汇编语言。我们的可执行程序,还有我们的动态链接都是可以反编译的,但是可执行程序反编译出来的是我们这次所学的ARM汇编并不是smail汇编,这两者的区别还是挺大的,后面我们会有所讲解。
小结
我们本次学习了ARM的优点:执行快、可嵌入式开发。也学习了ARM和Android的关系:Android是基于linux内核,采用的是ARM处理器。
不知道我们大家有没有了解今天小编给大家讲解的内容呢?没听懂没关系,来跟着小编,小编带着大家一起学习安卓逆向知识,不懂得都可以私聊小编.