0
假設堆棧如下,其中所述串/ bin/sh的地址是0×11: 差
movl %esi, 0x8(%esi)
後我覺得值加載形式存儲器地址%esi
將被移動到0x8(%esi)
(這是定義movl
)。所以字符串/bin/sh
將被放在地址0x8(%esi)
。但結果是11
被放在該地址。在我看來,如果我們想把11
放在那個地址,我們應該使用leal
指令,因爲leal
沒有取消引用(只是一個地址不是值)。
http://stackoverflow.com/questions/13517083/assembly-leal-and-movl-difference – jolati