装配MOV指令

时间:2015-04-02 18:29:52

标签: assembly buffer-overflow .net-security

嗨,大家好我正在进行CTF挑战,并且不太了解这个asm命令:

mov    %edx,0x20(%esp,%eax,4)

我假设:将$edx移至(0x20 + $esp + $eax + 4)

然而,当我用gdb检查这个时,它是不正确的。有人在解释这条指令的工作原理吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

x86内存引用的AT& T语法如下:

displacement(base,index,scale)

给出位移+基数+(索引*比例)的地址。

也就是说,你的目标存储器地址是%ESP + 0x20 +(4 *%EAX)。