我制作了这个简单的装配程序:
.text
.globl _start
_start:
jmp MyCallStatement
Shellcode:
popq %rsi
xorq %rax, %rax
movb %al, 0x9(%rsi)
movq %rsi, 0xa(%rsi)
movq %rax, 0xe(%rsi)
movb $11, %al
movq %rsi, %rbx
leaq 0xa(%rsi), %rcx
leaq 0xe(%rsi), %rdx
int $0x80
MyCallStatement:
call Shellcode
ShellVariable:
.ascii "/bin/bashABBBBCCCC"
该程序编译良好,链接良好。但是,当我运行它时,我得到一个分段错误。这是为什么?