Tag: 堆栈 粉碎

在处理Aleph One文章时,64位系统上没有堆栈分配

我一直在搞乱来自Aleph One的“Smash the stack for Fun and Profit”,并发现在为我的64位处理器编译代码时,堆栈内存不能使用通常的“sub $ VALUE,% REG“。 这是函数源代码: void function() { char buffer1[5]; char buffer2[10]; int *ret; ret = buffer1 + 32; (*ret) +=8; } 这是编译版本 function: .LFB0: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 movl $1868654947, -16(%rbp) movb $0, -12(%rbp) leaq -16(%rbp), %rax addq […]