小编ker*_*nux的帖子

什么是`和esp,0xfffffff0`?

当我main()在gdb中反汇编它时,它会返回这个结果:

 0x0804854c <+0>:   push   ebp
   0x0804854d <+1>: mov    ebp,esp
   0x0804854f <+3>: and    esp,0xfffffff0
   0x08048552 <+6>: sub    esp,0x10
Run Code Online (Sandbox Code Playgroud)

并在代码中我检查esp寄存器如下:

x/32xw $esp
Run Code Online (Sandbox Code Playgroud)

这使得:

0xbffffb70: 0xb7ea1515  0xb7ff0590  0x080485eb  0xb7fd2ff4
0xbffffb80: 0x080485e0  0x00000000  0xbffffc08  0xb7e88e46
0xbffffb90: 0x00000002  0xbffffc34  0xbffffc40  0xb7fe0860
0xbffffba0: 0xb7ff6821  0xffffffff  0xb7ffeff4  0x080482bc
0xbffffbb0: 0x00000001  0xbffffbf0  0xb7fefc16  0xb7fffac0
0xbffffbc0: 0xb7fe0b58  0xb7fd2ff4  0x00000000  0x00000000
0xbffffbd0: 0xbffffc08  0xd51689cb  0xfbfdbfdb  0x00000000
0xbffffbe0: 0x00000000  0x00000000  0x00000002  0x08048400
Run Code Online (Sandbox Code Playgroud)

我想知道and esp,0xfffffff0这些结果之间的关系是什么.

assembly gdb disassembly

8
推荐指数
3
解决办法
2354
查看次数

标签 统计

assembly ×1

disassembly ×1

gdb ×1