【发布时间】:2017-02-15 07:34:20
【问题描述】:
=> 0x7fffffffeefc: xor %eax,%eax
0x7fffffffeefe: movabs $0xff978cd091969dd1,%rbx
0x7fffffffef08: neg %rbx
0x7fffffffef0b: push %rbx
0x7fffffffef0c: push %rsp
0x7fffffffef0d: pop %rdi
0x7fffffffef0e: mov $0x3b,%al
0x7fffffffef10: syscall
0x7fffffffef12: add %cl,0x4e(%rcx,%rcx,2)
0x7fffffffef16: rex.RB push %r11
(gdb) nexti
0x00007fffffffeefe in ?? ()
(gdb) nexti
0x00007fffffffef08 in ?? ()
(gdb) nexti
0x00007fffffffef0b in ?? ()
(gdb) nexti
0x00007fffffffef0c in ?? ()
(gdb) nexti
Program received signal SIGSEGV, Segmentation fault.
0x00007fffffffef12 in ?? ()
我不明白为什么0x7fffffffef0c 会出现分段错误。分段错误后跳转到0x7fffffffef12 而不是0x7fffffffef0c。这是否意味着0x7fffffffef0c 是错误处理程序?
【问题讨论】:
标签: assembly gdb x86-64 system-calls shellcode