mov byte [esi +9],bl导致segfault

时间:2015-08-20 22:28:02

标签: linux assembly x86 nasm shellcode

知道为什么会导致段错误吗? mov byte [esi +9],bl

我使用调试器逐行完成它,并且在执行该行后会出现segfault。

我猜这意味着它试图访问内存中的某些内容,而不是它想要的内容。

以下是整个代码:

global _start

section .text

_start:

    jmp short call_shellcode


shellcode:

    pop esi

    xor ebx, ebx
    mov byte [esi +9], bl
    mov dword [esi +10], esi
    mov dword [esi +14], ebx

    lea ebx, [esi]

    lea ecx, [esi +10]

    lea edx, [esi +14]

    xor eax, eax
    mov al, 0xb
    int 0x80



call_shellcode:

    call shellcode
    message db "/bin/bashABBBBCCCC"

1 个答案:

答案 0 :(得分:0)

默认情况下,文本部分不可写,数据部分不可执行。