aarch64架构汇编速成

aarch64架构汇编速成,用于逆向aarch64代码

学习资料:https://github.com/nzcv/note

重要寄存器

  • x0~x7:传递子程序的参数和返回值,一般x0保存返回值
  • x29:帧指针寄存器(FP),用于连接栈帧,使用时必须保存。(类似8064架构下的ebp)
  • x30:链接寄存器(LR),用于保存子程序的返回地址
  • x31:堆栈指针寄存器(SP),用于指向每个函数的栈顶。

重要指令

ADD指令
add x0, x1, #1    ; x0 = x1 + 1

第一个操作数是destination,后面两个操作数是source

# 表示立即数

STR指令

==》

STR             X1, [SP,#0x20+var_10]   ; var_10 = x1
LDR指令

《==

LDR             X0, [SP,#0x20+var_18]   ; x0 = var_18

你可能感兴趣的:(架构,arm)