装配启动功能x86-64

Man*_*ano 1 assembly x86-64

在函数的开头有这种结构:

0x7ffff7e47a10: test   $0xf,%spl
0x7ffff7e47a14: je     0x7ffff7e47a1b
0x7ffff7e47a1a: int3 
Run Code Online (Sandbox Code Playgroud)

什么是标志的目的0xfspl,如果它不这样做中断?就像"堆栈一切都好"?

fuz*_*fuz 5

这将检查堆栈是否与16个字节对齐,如果不是,则中止程序.如果堆栈与16个字节对齐,则至少4位%rsp和扩展名%spl是明确的.这是test $0xf,%spl测试的.

  • @Toby [iff](http://en.wiktionary.org/wiki/iff)是一个非常好的英文单词. (2认同)