打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Lenky个人站点 ? 理解ELF文件
[root@localhost elf]# objdump -d -j .text test
test:     file format elf64-x86-64
Disassembly of section .text:
00000000004003c0 <_start>:
  4003c0:   31 ed                   xor    %ebp,%ebp
  4003c2:   49 89 d1                mov    %rdx,%r9
  4003c5:   5e                      pop    %rsi
  4003c6:   48 89 e2                mov    %rsp,%rdx
  4003c9:   48 83 e4 f0             and    $0xfffffffffffffff0,%rsp
  4003cd:   50                      push   %rax
  4003ce:   54                      push   %rsp
  4003cf:   49 c7 c0 00 05 40 00    mov    $0x400500,%r8
  4003d6:   48 c7 c1 10 05 40 00    mov    $0x400510,%rcx
  4003dd:   48 c7 c7 98 04 40 00    mov    $0x400498,%rdi
  4003e4:   e8 bf ff ff ff          callq  4003a8 <__libc_start_main@plt>
  4003e9:   f4                      hlt
  4003ea:   90                      nop
  4003eb:   90                      nop   
00000000004003ec <call_gmon_start>:
  4003ec:   48 83 ec 08             sub    $0x8,%rsp
  4003f0:   48 8b 05 b9 04 20 00    mov    2098361(%rip),%rax        # 6008b0 <_DYNAMIC+0x190>
  4003f7:   48 85 c0                test   %rax,%rax
  4003fa:   74 02                   je     4003fe <call_gmon_start+0x12>
  4003fc:   ff d0                   callq  *%rax
  4003fe:   48 83 c4 08             add    $0x8,%rsp
  400402:   c3                      retq
  400403:   90                      nop
  400404:   90                      nop
  400405:   90                      nop
  400406:   90                      nop
  400407:   90                      nop
  400408:   90                      nop
  400409:   90                      nop
  40040a:   90                      nop
  40040b:   90                      nop
  40040c:   90                      nop
  40040d:   90                      nop
  40040e:   90                      nop
  40040f:   90                      nop   
0000000000400410 <__do_global_dtors_aux>:
  400410:   55                      push   %rbp
  400411:   48 89 e5                mov    %rsp,%rbp
  400414:   53                      push   %rbx
  400415:   48 83 ec 08             sub    $0x8,%rsp
  400419:   80 3d d0 04 20 00 00    cmpb   $0x0,2098384(%rip)        # 6008f0 <completed.6145>
  400420:   75 44                   jne    400466 <__do_global_dtors_aux+0x56>
  400422:   b8 10 07 60 00          mov    $0x600710,%eax
  400427:   48 2d 08 07 60 00       sub    $0x600708,%rax
  40042d:   48 c1 f8 03             sar    $0x3,%rax
  400431:   48 8d 58 ff             lea    0xffffffffffffffff(%rax),%rbx
  400435:   48 8b 05 ac 04 20 00    mov    2098348(%rip),%rax        # 6008e8 <__bss_start>
  40043c:   48 39 c3                cmp    %rax,%rbx
  40043f:   76 1e                   jbe    40045f <__do_global_dtors_aux+0x4f>
  400441:   48 83 c0 01             add    $0x1,%rax
  400445:   48 89 05 9c 04 20 00    mov    %rax,2098332(%rip)        # 6008e8 <__bss_start>
  40044c:   ff 14 c5 08 07 60 00    callq  *0x600708(,%rax,8)
  400453:   48 8b 05 8e 04 20 00    mov    2098318(%rip),%rax        # 6008e8 <__bss_start>
  40045a:   48 39 c3                cmp    %rax,%rbx
  40045d:   77 e2                   ja     400441 <__do_global_dtors_aux+0x31>
  40045f:   c6 05 8a 04 20 00 01    movb   $0x1,2098314(%rip)        # 6008f0 <completed.6145>
  400466:   48 83 c4 08             add    $0x8,%rsp
  40046a:   5b                      pop    %rbx
  40046b:   c9                      leaveq
  40046c:   c3                      retq
  40046d:   0f 1f 00                nopl   (%rax)
0000000000400470 <frame_dummy>:
  400470:   55                      push   %rbp
  400471:   48 83 3d 9f 02 20 00    cmpq   $0x0,2097823(%rip)        # 600718 <__JCR_END__>
  400478:   00
  400479:   48 89 e5                mov    %rsp,%rbp
  40047c:   74 16                   je     400494 <frame_dummy+0x24>
  40047e:   b8 00 00 00 00          mov    $0x0,%eax
  400483:   48 85 c0                test   %rax,%rax
  400486:   74 0c                   je     400494 <frame_dummy+0x24>
  400488:   bf 18 07 60 00          mov    $0x600718,%edi
  40048d:   49 89 c3                mov    %rax,%r11
  400490:   c9                      leaveq
  400491:   41 ff e3                jmpq   *%r11
  400494:   c9                      leaveq
  400495:   c3                      retq
  400496:   90                      nop
  400497:   90                      nop   
0000000000400498 <main>:
  400498:   55                      push   %rbp
  400499:   48 89 e5                mov    %rsp,%rbp
  40049c:   48 83 ec 20             sub    $0x20,%rsp
  4004a0:   89 7d ec                mov    %edi,0xffffffffffffffec(%rbp)
  4004a3:   48 89 75 e0             mov    %rsi,0xffffffffffffffe0(%rbp)
  4004a7:   c7 45 fc 03 00 00 00    movl   $0x3,0xfffffffffffffffc(%rbp)
  4004ae:   bf f8 05 40 00          mov    $0x4005f8,%edi
  4004b3:   b8 00 00 00 00          mov    $0x0,%eax
  4004b8:   e8 db fe ff ff          callq  400398 <printf@plt>
  4004bd:   8b 35 21 04 20 00       mov    2098209(%rip),%esi        # 6008e4 <global_data>
  4004c3:   bf 05 06 40 00          mov    $0x400605,%edi
  4004c8:   b8 00 00 00 00          mov    $0x0,%eax
  4004cd:   e8 c6 fe ff ff          callq  400398 <printf@plt>
  4004d2:   8b 35 1c 04 20 00       mov    2098204(%rip),%esi        # 6008f4 <global_data_2>
  4004d8:   bf 17 06 40 00          mov    $0x400617,%edi
  4004dd:   b8 00 00 00 00          mov    $0x0,%eax
  4004e2:   e8 b1 fe ff ff          callq  400398 <printf@plt>
  4004e7:   8b 75 fc                mov    0xfffffffffffffffc(%rbp),%esi
  4004ea:   bf 2b 06 40 00          mov    $0x40062b,%edi
  4004ef:   b8 00 00 00 00          mov    $0x0,%eax
  4004f4:   e8 9f fe ff ff          callq  400398 <printf@plt>
  4004f9:   b8 00 00 00 00          mov    $0x0,%eax
  4004fe:   c9                      leaveq
  4004ff:   c3                      retq  
0000000000400500 <__libc_csu_fini>:
  400500:   f3 c3                   repz retq
  400502:   0f 1f 80 00 00 00 00    nopl   0x0(%rax)
  400509:   0f 1f 80 00 00 00 00    nopl   0x0(%rax)
0000000000400510 <__libc_csu_init>:
  400510:   4c 89 64 24 e0          mov    %r12,0xffffffffffffffe0(%rsp)
  400515:   4c 89 6c 24 e8          mov    %r13,0xffffffffffffffe8(%rsp)
  40051a:   4c 8d 25 d3 01 20 00    lea    2097619(%rip),%r12        # 6006f4 <__fini_array_end>
  400521:   4c 89 74 24 f0          mov    %r14,0xfffffffffffffff0(%rsp)
  400526:   4c 89 7c 24 f8          mov    %r15,0xfffffffffffffff8(%rsp)
  40052b:   49 89 f6                mov    %rsi,%r14
  40052e:   48 89 5c 24 d0          mov    %rbx,0xffffffffffffffd0(%rsp)
  400533:   48 89 6c 24 d8          mov    %rbp,0xffffffffffffffd8(%rsp)
  400538:   48 83 ec 38             sub    $0x38,%rsp
  40053c:   41 89 ff                mov    %edi,%r15d
  40053f:   49 89 d5                mov    %rdx,%r13
  400542:   e8 29 fe ff ff          callq  400370 <_init>
  400547:   48 8d 05 a6 01 20 00    lea    2097574(%rip),%rax        # 6006f4 <__fini_array_end>
  40054e:   49 29 c4                sub    %rax,%r12
  400551:   49 c1 fc 03             sar    $0x3,%r12
  400555:   4d 85 e4                test   %r12,%r12
  400558:   74 1e                   je     400578 <__libc_csu_init+0x68>
  40055a:   31 ed                   xor    %ebp,%ebp
  40055c:   48 89 c3                mov    %rax,%rbx
  40055f:   90                      nop
  400560:   48 83 c5 01             add    $0x1,%rbp
  400564:   4c 89 ea                mov    %r13,%rdx
  400567:   4c 89 f6                mov    %r14,%rsi
  40056a:   44 89 ff                mov    %r15d,%edi
  40056d:   ff 13                   callq  *(%rbx)
  40056f:   48 83 c3 08             add    $0x8,%rbx
  400573:   49 39 ec                cmp    %rbp,%r12
  400576:   75 e8                   jne    400560 <__libc_csu_init+0x50>
  400578:   48 8b 5c 24 08          mov    0x8(%rsp),%rbx
  40057d:   48 8b 6c 24 10          mov    0x10(%rsp),%rbp
  400582:   4c 8b 64 24 18          mov    0x18(%rsp),%r12
  400587:   4c 8b 6c 24 20          mov    0x20(%rsp),%r13
  40058c:   4c 8b 74 24 28          mov    0x28(%rsp),%r14
  400591:   4c 8b 7c 24 30          mov    0x30(%rsp),%r15
  400596:   48 83 c4 38             add    $0x38,%rsp
  40059a:   c3                      retq
  40059b:   90                      nop
  40059c:   90                      nop
  40059d:   90                      nop
  40059e:   90                      nop
  40059f:   90                      nop   
00000000004005a0 <__do_global_ctors_aux>:
  4005a0:   55                      push   %rbp
  4005a1:   48 89 e5                mov    %rsp,%rbp
  4005a4:   53                      push   %rbx
  4005a5:   bb f8 06 60 00          mov    $0x6006f8,%ebx
  4005aa:   48 83 ec 08             sub    $0x8,%rsp
  4005ae:   48 8b 05 43 01 20 00    mov    2097475(%rip),%rax        # 6006f8 <__CTOR_LIST__>
  4005b5:   48 83 f8 ff             cmp    $0xffffffffffffffff,%rax
  4005b9:   74 14                   je     4005cf <__do_global_ctors_aux+0x2f>
  4005bb:   0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)
  4005c0:   48 83 eb 08             sub    $0x8,%rbx
  4005c4:   ff d0                   callq  *%rax
  4005c6:   48 8b 03                mov    (%rbx),%rax
  4005c9:   48 83 f8 ff             cmp    $0xffffffffffffffff,%rax
  4005cd:   75 f1                   jne    4005c0 <__do_global_ctors_aux+0x20>
  4005cf:   48 83 c4 08             add    $0x8,%rsp
  4005d3:   5b                      pop    %rbx
  4005d4:   c9                      leaveq
  4005d5:   c3                      retq
  4005d6:   90                      nop
  4005d7:   90                      nop
[root@localhost elf]#
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
[原创]使用x64dbg+VS2015 Spy++去除WinRAR5.40(64位)广告弹框
深入理解计算机系统 - 第三章·程序的机器级表示(下)
Java Main如何被执行?
《深入理解计算机系统》(CSAPP)实验四 —— Attack Lab
你知道GNU C 对C语言的扩展吗?
C源文件到ELF可执行文件的生成过程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服