функция для создания кода оболочки в x86 - PullRequest
0 голосов
/ 28 апреля 2018

Я чувствую, что это такой основной вопрос, но я не могу понять, что такое сборка. У меня есть функция, которую я написал в 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
...