IDA汇编指令

问AI的 个人记忆

ARM64 汇编

DCB:汇编指令,意思是 Define Constant Byte(定义常量字节)。它告诉 IDA 这里存储的是一串字节数据
Elf64_Sym 是 Linux/Android 64位可执行文件(ELF)用来描述函数的标准结构体。
Xref(Cross-reference,交叉引用)是分析程序逻辑的“导航地图”。它解决了逆向中的核心问题:对于函数:谁调用了这个函数?对于数据/字符串:哪行代码读取或修改了这个变量?
Xref Graph To (谁调用了我?)
Xref Graph From (我调用了谁?)

X0 - X7:参数传递寄存器。X0 通常存放函数的第一个参数,也是函数执行完后的返回值。在 C++ 中,X0 经常存放 this 指针。

W0 - W31:32 位寄存器(X 寄存器的低 32 位)。

SP:栈指针,指向内存中的当前栈顶。

LR (X30):链接寄存器,保存函数返回后的下一条指令地址。

数据传输:

LDR X0, [X1]:从 X1 指向的内存加载数据到 X0。

STR X0, [X1]:将 X0 的数据写入 X1 指向的内存。

MOV X0, X1:把 X1 的值复制到 X0。

跳转与调用(重点分析逻辑):

B

BL :调用函数(Branch with Link),跳转前会将返回地址存入 LR。

RET:子程序返回,回到 LR 指向的地方。

B.EQ, B.NE:条件跳转。EQ 代表相等时跳转,NE 代表不等时跳转。

算术运算:

ADD, SUB:加法和减法。

CMP:比较指令,通常后面跟着条件跳转指令(如 B.EQ)。

posted @ 2025-12-31 16:19  liv_vil  阅读(2)  评论(0)    收藏  举报