0
私は誰もがこの1で私を助けることができる、この上でセグメンテーションフォールトを取得しておくが、私は一種のASMはexecve x86の - セグメンテーションフォールト
global _start
section .text
_start:
push dword 0x0068732F ; Push /sh
push dword 0x6E69622F ; Push /bin
mov eax, esp ; Store Pointer To /bin/sh In EAX
push dword 0x0000632D ; Push -c
mov ebx, esp ; Store Pointer To -c In EBX
push dword 0x00000068 ; Push h
push dword 0x7361622F ; Push /bas
push dword 0x6E69622F ; Push /bin
mov ecx, esp ; Store Pointer To /bin/bash In ECX
push dword 0x0 ; NULL
push ecx ; Push /bin/bash Pointer
push ebx ; Push -c Pointer
push eax ; Push /bin/sh Pointer
mov ebx, eax ; Move /bin/sh Pointer To EAX
mov ecx, esp ; Store /bin/sh -c /bin/bash Pointer in ECX
xor edx, edx ; Store 0 In EDX
mov al, 0xb ; sys_execve
int 0x80 ; system call
に新しいです私は、次の
char* Args[] = { "/bin/sh", "-c", "/bin/bash" };
execve("/bin/sh", Args, NULL)
を複製しようとしています事前に
おかげ
あなたのコードは、SEGV信号を発行するのでしょうか。デバッガはその時点で停止し、何が起きているのかを理解するためにレジスタとメモリを調べます。私はこれらの3つのプッシュがECXにESP保存した後、あなたがすでに –
@TobySpeightあなたはどこに私を示すことができました。 (私は後でマシンでそれを確認する必要があります) – 0xDeMoN
@mewaを取得 – 0xDeMoN