美文网首页
p17-firstprg.c使用objdump

p17-firstprg.c使用objdump

作者: 壹顾倾城 | 来源:发表于2020-07-14 17:01 被阅读0次

    源程序:

    int main() {
        int i;
        for(i=0; i<10; i++) {
            puts("hello world\n");
        }
    
    }
    

    编译:

    noilinux@ubuntu:~$ gcc first.c 
    noilinux@ubuntu:~$ ls
    a.out  Desktop  Documents  Downloads  first.c  Music  Pictures  Public  Videos
    

    运行:

    noilinux@ubuntu:~$ ./a.out
    hello world
    
    hello world
    
    hello world
    
    hello world
    
    hello world
    
    hello world
    
    hello world
    
    hello world
    
    hello world
    
    hello world
    

    objdump查看编辑二进制

    noilinux@ubuntu:~$ objdump -D a.out|grep -A20 main.:
    0804841d <main>:
     804841d:   55                      push   %ebp
     804841e:   89 e5                   mov    %esp,%ebp
     8048420:   83 e4 f0                and    $0xfffffff0,%esp
     8048423:   83 ec 20                sub    $0x20,%esp
     8048426:   c7 44 24 1c 00 00 00    movl   $0x0,0x1c(%esp)
     804842d:   00 
     804842e:   eb 11                   jmp    8048441 <main+0x24>
     8048430:   c7 04 24 e0 84 04 08    movl   $0x80484e0,(%esp)
     8048437:   e8 b4 fe ff ff          call   80482f0 <puts@plt>
     804843c:   83 44 24 1c 01          addl   $0x1,0x1c(%esp)
     8048441:   83 7c 24 1c 09          cmpl   $0x9,0x1c(%esp)
     8048446:   7e e8                   jle    8048430 <main+0x13>
     8048448:   c9                      leave  
     8048449:   c3                      ret    
     804844a:   66 90                   xchg   %ax,%ax
     804844c:   66 90                   xchg   %ax,%ax
     804844e:   66 90                   xchg   %ax,%ax
    
    08048450 <__libc_csu_init>:
     8048450:   55                      push   %eb
    

    学习代码源自 《黑客之道 漏洞发掘的艺术 第2版 》仅限交流,侵权联系删除

    相关文章

      网友评论

          本文标题:p17-firstprg.c使用objdump

          本文链接:https://www.haomeiwen.com/subject/znefhktx.html