小编kri*_*iss的帖子

这条指令的作用是什么?: - mov%gs:0x14,%eax

我的问候和对所有人的问候.我有一个C程序,基本上是为了测试缓冲区溢出而写的.

    #include<stdio.h>
    void display()
    {
            char buff[8];
            gets(buff);
            puts(buff);
    }
    main()
    {
        display();
        return(0);
    }
Run Code Online (Sandbox Code Playgroud)

现在我使用GDB反汇编它的显示和主要部分.代码:-

函数main的汇编代码转储:

    0x080484ae <+0>:    push   %ebp        # saving ebp to stack
    0x080484af <+1>:    mov    %esp,%ebp   # saving esp in ebp
    0x080484b1 <+3>:    call   0x8048474 <display>   # calling display function
    0x080484b6 <+8>:    mov    $0x0,%eax   # move 0 into eax , but WHY ????
    0x080484bb <+13>:   pop    %ebp        # remove ebp from stack
    0x080484bc <+14>:   ret                # return
Run Code Online (Sandbox Code Playgroud)

汇编程序转储结束.

用于功能显示的汇编代码转储:

    0x08048474 <+0>:    push   %ebp          #saves ebp to …
Run Code Online (Sandbox Code Playgroud)

c x86 assembly

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

标签 统计

assembly ×1

c ×1

x86 ×1