安卓逆向学习之Android与ARM处理器
2022-02-25 21:28:294137浏览
Android是基于linux内核,采用的是ARM处理器,学会了ARM的优势就在于执行快、可嵌入式开发。


今天我们一起来学习一下Android与ARM处理器,这节课东西有点多,大家可以拿小本本记好,不懂的也可以来问我哦。
首先我们先来了解一下咱们今天要讲解的内容。

目录

  1. 初步认识ARM
  2. 初步了解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操作系统

  1. Android嵌入式智能操作系统是基于linux内核
  2. 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处理器。

友情链接: