在汇编代码中执行shell时出现分段错误

时间:2014-09-17 22:33:33

标签: assembly segmentation-fault buffer-overflow

我是装配编程的新手。我在以下程序中遇到了分段错误。任何帮助,将不胜感激。 该程序基本上使用execv系统调用执行bash shell(系统调用no 11)。

.text
.globl _start

 _start:
    jmp callshell

    shellcode:
            popl %esi
            xorl %eax, %eax
            movb $0,%al
            movb %al,0x9(%esi)
            movl %esi,0xa(%esi)
            movl %eax,0xe(%esi)
            movb $11, %al
            movl %esi, %ebx
            leal 0xa(%esi),%ecx
            leal 0xe(%esi),%edx
            int $0x80

    callshell:
            call shellcode
            shellvariables:
                    .ascii "/bin/bashABBBBCCCC"

1 个答案:

答案 0 :(得分:0)

这些组合十六进制前缀的含义是什么?

int $0x80

DS是不是指向你的.TEXT部分?