banner
lca

lca

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

《从零开始学IDA逆向》学习笔记-5(lea指令)

image

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 除外) 。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。