Assembly 组装MOV指令

Assembly 组装MOV指令,assembly,buffer-overflow,.net-security,Assembly,Buffer Overflow,.net Security,嗨,伙计们,我正在进行CTF挑战,不太了解asm命令: mov %edx,0x20(%esp,%eax,4) 我假设它:将$edx移动到(0x20+$esp+$eax+4) 然而,当我与gdb检查时,它是不正确的。有人介意解释一下这个指令是如何工作的吗 谢谢你的帮助 用于x86内存引用的AT&T语法如下所示: displacement(base,index,scale) 给出位移+基+的地址(索引*刻度) 也就是说,指令的目标内存地址是%ESP+0x20+(4*%EAX)。英特尔语法将

嗨,伙计们,我正在进行CTF挑战,不太了解asm命令:

mov    %edx,0x20(%esp,%eax,4)
我假设它:将
$edx
移动到
(0x20+$esp+$eax+4)

然而,当我与gdb检查时,它是不正确的。有人介意解释一下这个指令是如何工作的吗


谢谢你的帮助

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

displacement(base,index,scale)
给出位移+基+的地址(索引*刻度)


也就是说,指令的目标内存地址是%ESP+0x20+(4*%EAX)。

英特尔语法将使这一点更清楚