相关疑难解决方法(0)

Linux Shellcode"Hello,World!"

我有以下工作NASM代码:

global _start

section .text

_start:
    mov eax, 0x4
    mov ebx, 0x1
    mov ecx, message
    mov edx, 0xF
    int 0x80

    mov eax, 0x1
    mov ebx, 0x0
    int 0x80

section .data
    message: db "Hello, World!", 0dh, 0ah
Run Code Online (Sandbox Code Playgroud)

在屏幕上打印"Hello,World!\n".我还有以下C包装器,其中包含以前的NASM对象代码:

char code[] =
"\xb8\x04\x00\x00\x00"
"\xbb\x01\x00\x00\x00"
"\xb9\x00\x00\x00\x00"
"\xba\x0f\x00\x00\x00"
"\xcd\x80\xb8\x01\x00"
"\x00\x00\xbb\x00\x00"
"\x00\x00\xcd\x80";

int main(void)
{
    (*(void(*)())code)();
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行代码时,似乎没有执行汇编程序代码,但程序退出正常.有任何想法吗?

谢谢

c linux assembly nasm shellcode

27
推荐指数
2
解决办法
3万
查看次数

标签 统计

assembly ×1

c ×1

linux ×1

nasm ×1

shellcode ×1