В основном я пытаюсь выполнить команду /bin/ls
, используя сборку, но, к сожалению, у меня не получается:
SECTION .data
buf: db "Hello", 5
SECTION .text
global _start
_start:
xor eax, eax
mov edx, eax
push edx
mov eax, 0x736c2f2f ; "sl/"
push eax
mov eax, 0x6e69622f ; "nib/"
push eax
mov ebx, esp
push edx
mov eax, 0x2f
push eax
mov ecx, esp
mov eax, 11
xor edx, edx
int 0x80
mov eax, 1
int 0x80
Но если я изменю mov eax, 11
на mov eax, 4
и добавлю mov edx, 7
после xor edx, edx
. Это печатает /bin/ls
Кто-нибудь может указать на ошибку, которую я делаю? Компиляция кода с nasm -g -f elf -F dwarf ./shell.asm && ld -m elf_i386 -o shell shell.o
и мой ar c это Linux kali 5.2.0-kali2-amd64 #1 SMP Debian 5.2.9-2kali1 (2019-08-22) x86_64 GNU/Linux