• plt_0


    记录下动态延迟加载,在unicore上没运行起来,所以在x86上运行

    函数test.c

    1 #include<stdio.h>

    2

    3 int main(void)

    4 {

    5 printf("abcdefg\n");

    6 return 0;

    7 }

    反汇编(省略了相当一部分,因为没看懂且与PLT无关)

    207 080482e0 <puts@plt-0x10>:

    208 80482e0: ff 35 f8 9f 04 08 pushl 0x8049ff8

    209 80482e6: ff 25 fc 9f 04 08 jmp *0x8049ffc

    210 80482ec: 00 00 add %al,(%eax)

    211 ...

    212

    213 080482f0 <puts@plt>:

    214 80482f0: ff 25 00 a0 04 08 jmp *0x804a000

    215 80482f6: 68 00 00 00 00 push $0x0

    216 80482fb: e9 e0 ff ff ff jmp 80482e0 <_init+0x30>



    305 080483d4 <main>:

    306 80483d4: 55 push %ebp

    307 80483d5: 89 e5 mov %esp,%ebp

    308 80483d7: 83 e4 f0 and $0xfffffff0,%esp

    309 80483da: 83 ec 10 sub $0x10,%esp

    310 80483dd: c7 04 24 c0 84 04 08 movl $0x80484c0,(%esp)

    311 80483e4: e8 07 ff ff ff call 80482f0 <puts@plt>

    312 80483e9: b8 00 00 00 00 mov $0x0,%eax

    313 80483ee: c9 leave

    314 80483ef: c3 ret



    416 Disassembly of section .rodata:

    417

    418 080484b8 <_fp_hw>:

    419 80484b8: 03 00 add (%eax),%eax

    420 ...

    421

    422 080484bc <_IO_stdin_used>:

    423 80484bc: 01 00 add %eax,(%eax)

    424 80484be: 02 00 add (%eax),%al

    425 80484c0: 61 popa

    426 80484c1: 62 63 64 bound %esp,0x64(%ebx)

    427 80484c4: 65 gs

    428 80484c5: 66 data16

    429 80484c6: 67 addr16



    658 Disassembly of section .got:

    659

    660 08049ff0 <.got>:

    661 8049ff0: 00 00 add %al,(%eax)

    662 ...

    663

    664 Disassembly of section .got.plt:

    665

    666 08049ff4 <_GLOBAL_OFFSET_TABLE_>:

    667 8049ff4: 28 9f 04 08 00 00 sub %bl,0x804(%edi)

    668 8049ffa: 00 00 add %al,(%eax)

    669 8049ffc: 00 00 add %al,(%eax)

    670 8049ffe: 00 00 add %al,(%eax)

    671 804a000: f6 82 04 08 06 83 04 testb $0x4,-0x7cf9f7fc(%edx)

    672 804a007: 08 16 or %dl,(%esi)

    673 804a009: 83 .byte 0x83

    674 804a00a: 04 08 add $0x8,%al

     

  • 相关阅读:
    微服务
    Ubunt16.04下安装PHP7+Nginx+MySQL
    Ubuntu Linux 14.04 LTS 上安装php7+mysql+nginx
    magento2 重置后台密码
    crontab命令
    解决linux buffer/cache 消耗内存过高引发的问题
    Linux配置自动发送邮件
    buff/cache 内容释放
    利用Linode面板Clone克隆搬家迁移不同VPS数据及利用IP Swap迁移IP地址
    css3动画(从上、左下、左、右进入页面)
  • 原文地址:https://www.cnblogs.com/openix/p/2537256.html
Copyright © 2020-2023  润新知