Я чувствую, что это такой основной вопрос, но я не могу понять, что такое сборка. У меня есть функция, которую я написал в x86 для порождения оболочки, но она, похоже, ничего не делает. Может ли кто-нибудь указать мне правильное направление?
.global main
.text
create_shell:
push %ebp
movl %esp,%ebp
subl $16,%esp
xorl %edi,%edi
xorl %ebx,%ebx
xorl %esi,%esi
pushl %edi
movl $0x2f62686e,%edi ;this and the next instruction movl is /bin/sh in hex
push %ebx
movl $0x2f7368,%ebx
add %ebx,%edi
int 0x80
mov $1,%eax
mov $0,%ebx
int 0x80
leave
ret
main:
call create_shell
ret