iOS逆向之旅(基础篇) — 汇编(一)— 汇编基础

2021-09-19  本文已影响0人  冰雨9527

科普

模拟器32位处理器是i386架构,
模拟器64位处理器是x86_64架构,
真机32位处理器是armv7,或者armv7s架构,(armv7s 是iPhone5C、armv7是iphone4之前的手机版本)
真机64位处理器是arm64架构。(iPhone5s之后的手机)【接下来主要学习的】

ARM64汇编的学习路线

ARM64下的寄存器

功能:

分类总结:

通用寄存器(用来存放一般性的数据)

浮点寄存器(CPU中专门提供浮点数寄存器来处理浮点数)

向量寄存器 (现在的CPU支持向量运算.(向量运算在图形处理相关的领域用得非常的多)为了支持向量计算系统了也提供了众多的向量寄存器.)

状态寄存器(又称 CPSR【current program status register】寄存器)

栈寄存器

ARM64下常用的汇编指令【这里我只是简单整理一下,后面再写一下代码案例来介绍】

基础指令

堆栈操作

跳转操作

ADRP 是计算指定的数据地址 到当前PC值的相对偏移(eg:adrp x0, 1)

1.将1的值,左移12位 1 0000 0000 0000 == 0x1000
2.将PC寄存器的低12位清零 0x1002e6874 ==> 0x1002e6000
3.将将1 和 2 的结果相加 给 X0 寄存器!!

上一篇 下一篇

猜你喜欢

热点阅读