从asm of nasm

时间:2015-11-03 03:30:35

标签: c assembly nasm

这是一个C程序,然后转换为nasm  但没有运气试图进入shellcode格式。 (段错误)

global main

extern printf

SECTION .text   align=4

main:
        push    rbp
        mov     rbp, rsp
        mov     eax, L_001
        mov     rdi, rax
        mov     eax, 0
        call    printf
        mov     eax, 0
        leave
        ret

SECTION .data   align=4

SECTION .bss    align=4

SECTION .rodata

L_001:
        db 48H, 65H, 6CH, 6CH, 6FH, 20H, 74H, 68H
        db 65H, 72H, 65H, 00H

这是在CentOS的x86_64平台上编写的

C包装程序(shellcode格式)

char code[] = "\x48\x65\x6c\x6c\x6f\x20\x74\x68\x65\x72\x65\x00";

int main(int argc, char **argv) { (*(void(*)())code)();

return 0; }

0 个答案:

没有答案