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

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。