banner
lca

lca

真正的不自由,是在自己的心中设下牢笼。

# 「ゼロから始めるIDA逆向き学習ノート」-5(lea命令)

画像

LEA 命令#

LEA 即LOAD EFFECTIVE ADDRESS:“LEA A, B”指令将 B 的地址传递给 A。
该指令不会获取 B 存储的内容,只会传递地址或者后一个操作数的运算结果 (外加中括号),这种方法普遍运用于获取变量参数的地址。

image

函数参数与局部变量#

IDA 发现的函数在调用前一般需要传递参数,大部分是通过 PUSH 指令 (仅指 32 位) 。

image

函数参数

image

传参

LEA 指令尽管使用了中括号,但它只计算中括号中的表达式然后传递地址而不读取其中的内容。

LEA 的其他作用#

LEA 也可以用于将中括号中的运算结果传递到目标寄存器,而不会读取结果地址上存储的内容。例如:LEA EAX,[4+5]指令将运算结果 9 传给 EAX,而不会像MOV EAX,[4+5]指令那样将地址0x9上存储的内容传给 EAX。

LEA 获取变量地址,MOV 获取变量地址上存储的值 (OFFSET 除外) 。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。