centos6虚拟机,因为想要生成可以执行的shellcode,所以没有使用数据段,用了如下方法打印一段字符“You have been hacked".
用nasm编译成功,执行时也打印出了这行字符,但是在后面跟着“段错误”的提示。
转换成shellcode并放入c程序中执行,干脆连这行字符都不打印了,直接报段错误。
请问这段代码哪里有问题?
section .text
global _start
_start:
mov al,4
mov bl,1
push 'cked'
push 'n ha'
push ' bee'
push 'have'
push 'You '
mov ecx,esp
mov dl,20
int 0x80
;add esp,4 ;这句话加不加都存在段错误