FS:0x28
最近在看Linux上的汇编过程中,发现下面的汇编指令,其中,FS段寄存器,偏移0x28存放的是什么?
mov rax, QWORD PTR fs:0x28
执行以后,会发现RAX寄存器的值为:
$rax : 0xc8f7e9b8eb413a00
通俗点说,这就是stack security cookie,防止栈溢出的。可以通过在GDB中,配合GEF插件,用下面命令看到:
gef➤ canary
[+] Found AT_RANDOM at 0x7fffffffe609, reading 8 bytes
[+] The canary of process 43769 is 0xc8f7e9b8eb413a00