精华内容
下载资源
问答
  • objdump使用

    2020-05-30 15:07:49
    Linux:objdump命令解析 常用的指令 反汇编应用程序 objdump -D vmlinux 得到的数据会打印到终端 显示制定section段信息(comment段) objdump -s -j .comment vmlinux 显示文件头信息 objdump -f vmlinux 从objdump...

    详细得请看
    Linux:objdump命令解析

    常用的指令
    反汇编应用程序
    objdump -D vmlinux
    得到的数据会打印到终端

    显示制定section段信息(comment段)
    objdump -s -j .comment vmlinux

    显示文件头信息
    objdump -f vmlinux

    从objdump得到的反汇编文件中我们可以得到什么?
    在这里插入图片描述
    从文件中 我们可以得到 符号 地址 段大小 汇编指令
    可以根据 pc指针判断是哪个那个函数,甚至哪条指令出现错误

    展开全文
  • objdump使用摘要

    2018-03-08 19:21:41
    objdump使用摘要

    ctf中objdump使用摘要

    objdump

    -a 文件类型,不如file命令
    -f 文件类型,操作系统,程序入口点
    -p 暂时看不懂
    -P 暂时看不懂
    -h 显示bss,got,plt等偏移
    -x 相当于-p 和 -h
    -d 反汇编可执行段,不可调控地址
    -D 反汇编所有段
    -S Intermix source code with disassembly
    -s 16进制和字符串显示各个段
    -T 和glibc相关
    -R 和glibc相关

    展开全文
  • objdump使用方法

    2021-03-03 10:27:59
    objdump -a vmlinux //列举.a文件中所有的目标文件。 objdump -g vmlinux //显示调试信息。 objdump -t vmlinux //输出目标文件的符号表() objdump -T vmlinux //显示动态链接符号表 objdump -h vmlinux //输出目标...
    objdump -a vmlinux    //列举.a文件中所有的目标文件。
    objdump -g vmlinux    //显示调试信息。
    objdump -t vmlinux    //输出目标文件的符号表()
    objdump -T vmlinux    //显示动态链接符号表
    objdump -h vmlinux    //输出目标文件的所有段概括()
    objdump -f vmlinux    //显示目标文件文件头
    objdump -I vmlinux    //显示行号信息
    objdump -p vmlinux    //显示专有头部信息,具体内容取决于文件格式。
    objdump -r vmlinux    //显示文件的重定位入口
    objdump -R vmlinux    //显示动态链接重定位信息。
    objdump -s vmlinux	  //将所有段的内容以十六进制的方式打印出来
    objdump -S vmlinux    //显示源代码和反汇编代码(包含-d 参数)
    objdump -d vmlinux    //对包含机器指令的段进行反汇编
    objdump -D vmlinux    //-D 与 -d 类似,但对所有段进行反汇编
    objdump -x vmlinux	  // 显示所有可用的头信息,包括符号表、重定位入口。-x 等价于
      					  // -a -f -h -r -t 同时指定。
    1. 在编译时必须使用-g选项,-g意为debug,一般可以修改源代码的 Makefile来实现 如: 
    CC =$(CROSSCOM_PILE)gcc 为 
    CC =$(CROSSCOM_PILE)gcc -g 
    使成生的vmlinux中含有debug信息 
    2. 所有生成 .o 的 rule 中再加一条 /*其他参数除了-c外抄生成.o文件用的参数*/ 
    CC -E -dD -C $< > /preprocessing/$(shell pwd)/$< 
    生成预处理文件从这个文件里面能很容易找到 c 源文件的宏定义 
    3. objdump -h vmlinux > vmlinux.dump 
    显示 linux 内核段信息,如段的开始虚拟地址,段的长度 
    4. objdump -S -l -z vmlinux > vmlinux.dump 
    反汇编 vmlinux 到vmlinux.txt, vmlinux.dump 含有汇编和 c 源文件的混合代码,看起来很方 
    便。而且能一步步看linux怎么一步步运行的。 
    5. objdump -S -l -z -j xxxx(section name) vmlinux > vmlinux.dump
    反汇编 linux 内核段 xxxx 到文件 vmlinux.dump 中。 
    6. objdump -x vmlinux > x.dump 
    vmliux中所有段的头信息,其中包口vmlinux的入口地址等 
    7. objdump --debugging vmlinux > debugging.dump 
    很多有用的debug信息,如函数名,结构体定义等 
    

     

    展开全文
  • objdump使用手册

    2018-12-07 11:40:24
    objdump命令是用查看目标文件或者可执行的目标文件的构成的gcc工具。 选项 --archive-headers -a 显示档案库的成员信息,类似ls -l将lib*.a的信息列出。 -b bfdname --target=bfdname 指定目标码格式。这...

    转载于:http://man.linuxde.net/objdump       

    objdump命令是用查看目标文件或者可执行的目标文件的构成的gcc工具。

    选项

    --archive-headers 
    -a 
    显示档案库的成员信息,类似ls -l将lib*.a的信息列出。 
    
    -b bfdname 
    --target=bfdname 
    指定目标码格式。这不是必须的,objdump能自动识别许多格式,比如: 
    
    objdump -b oasys -m vax -h fu.o 
    显示fu.o的头部摘要信息,明确指出该文件是Vax系统下用Oasys编译器生成的目标文件。objdump -i将给出这里可以指定的目标码格式列表。 
    
    -C 
    --demangle 
    将底层的符号名解码成用户级名字,除了去掉所开头的下划线之外,还使得C++函数名以可理解的方式显示出来。 
    
    --debugging 
    -g 
    显示调试信息。企图解析保存在文件中的调试信息并以C语言的语法显示出来。仅仅支持某些类型的调试信息。有些其他的格式被readelf -w支持。 
    
    -e 
    --debugging-tags 
    类似-g选项,但是生成的信息是和ctags工具相兼容的格式。 
    
    --disassemble 
    -d 
    从objfile中反汇编那些特定指令机器码的section。 
    
    -D 
    --disassemble-all 
    与 -d 类似,但反汇编所有section. 
    
    --prefix-addresses 
    反汇编的时候,显示每一行的完整地址。这是一种比较老的反汇编格式。 
    
    -EB 
    -EL 
    --endian={big|little} 
    指定目标文件的小端。这个项将影响反汇编出来的指令。在反汇编的文件没描述小端信息的时候用。例如S-records. 
    
    -f 
    --file-headers 
    显示objfile中每个文件的整体头部摘要信息。 
    
    -h 
    --section-headers 
    --headers 
    显示目标文件各个section的头部摘要信息。 
    
    -H 
    --help 
    简短的帮助信息。 
    
    -i 
    --info 
    显示对于 -b 或者 -m 选项可用的架构和目标格式列表。 
    
    -j name
    --section=name 
    仅仅显示指定名称为name的section的信息 
    
    -l
    --line-numbers 
    用文件名和行号标注相应的目标代码,仅仅和-d、-D或者-r一起使用使用-ld和使用-d的区别不是很大,在源码级调试的时候有用,要求编译时使用了-g之类的调试编译选项。 
    
    -m machine 
    --architecture=machine 
    指定反汇编目标文件时使用的架构,当待反汇编文件本身没描述架构信息的时候(比如S-records),这个选项很有用。可以用-i选项列出这里能够指定的架构. 
    
    --reloc 
    -r 
    显示文件的重定位入口。如果和-d或者-D一起使用,重定位部分以反汇编后的格式显示出来。 
    
    --dynamic-reloc 
    -R 
    显示文件的动态重定位入口,仅仅对于动态目标文件意义,比如某些共享库。 
    
    -s 
    --full-contents 
    显示指定section的完整内容。默认所有的非空section都会被显示。 
    
    -S 
    --source 
    尽可能反汇编出源代码,尤其当编译的时候指定了-g这种调试参数时,效果比较明显。隐含了-d参数。 
    
    --show-raw-insn 
    反汇编的时候,显示每条汇编指令对应的机器码,如不指定--prefix-addresses,这将是缺省选项。 
    
    --no-show-raw-insn 
    反汇编时,不显示汇编指令的机器码,如不指定--prefix-addresses,这将是缺省选项。 
    
    --start-address=address 
    从指定地址开始显示数据,该选项影响-d、-r和-s选项的输出。 
    
    --stop-address=address 
    显示数据直到指定地址为止,该项影响-d、-r和-s选项的输出。 
    
    -t 
    --syms 
    显示文件的符号表入口。类似于nm -s提供的信息 
    
    -T 
    --dynamic-syms 
    显示文件的动态符号表入口,仅仅对动态目标文件意义,比如某些共享库。它显示的信息类似于 nm -D|--dynamic 显示的信息。 
    
    -V 
    --version 
    版本信息 
    
    --all-headers 
    -x 
    显示所可用的头信息,包括符号表、重定位入口。-x 等价于-a -f -h -r -t 同时指定。 
    
    -z 
    --disassemble-zeroes 
    一般反汇编输出将省略大块的零,该选项使得这些零块也被反汇编。 
    
    @file 可以将选项集中到一个文件中,然后使用这个@file选项载入。

    实例

    首先,在给出后面大部分测试所基于的源代码以及编译指令。 源代码如下: 

    [root@localhost test]# nl mytest.cpp 
    void printTest() {
        char a;
        a = 'a';
    }
    
    void printTest2() {
    int a = 2;
    a+=2;
    } 

    对以上源代码进行编译,如下: 

    [root@localhost test]# g++ -c -g mytest.cpp 

    这里,生成的文件是mytest.o,为了方便测试包含了调试的信息,对可执行文件的测试,显示的结果类似。 

    查看当前使用的objdump的版本号: 

    [root@localhost test]# objdump -V 
    GNU objdump 2.17.50.0.6-14.el5 20061020 
    Copyright 2005 free Software Foundation, Inc. 
    This program is free software; you may redistribute it under the terms of 
    the GNU General Public License.  This program has absolutely no warranty. 

    查看档案库文件中的信息: 

    [root@localhost test]# objdump -a libmy2.a 
    In archive libmy2.a: 
    myfile.o:     file format elf32-i386 
    rwxrwxrwx 0/0   2724 Nov 16 16:06 2009 myfile.o 
    mytest.o:     file format elf32-i386 
    rw-r--r-- 0/0    727 Jul 13 15:32 2011 mytest.o 

    这里,libmy2.a是一个使用ar命令将多个*.o目标文件打包而生成的静态库。命令的输出类似ar -tv,相比较ar -tv输出如下: 

    [root@localhost test]# ar -tv libmy2.a 
    rwxrwxrwx 0/0   2724 Nov 16 16:06 2009 myfile.o 
    rw-r--r-- 0/0    727 Jul 13 15:32 2011 mytest.o 

    显示可用的架构和目标结构列表: 

    [root@localhost test]# objdump -i 
    BFD header file version 2.17.50.0.6-14.el5 20061020 
    elf32-i386 
    (header little endian, data little endian) 
      i386 
    a.out-i386-linux 
    (header little endian, data little endian) 
      i386 
    efi-app-ia32 
    (header little endian, data little endian) 
      i386 
    elf64-x86-64 
    (header little endian, data little endian) 
      i386 
    elf64-little 
    (header little endian, data little endian) 
      i386 
    elf64-big 
    (header big endian, data big endian) 
      i386 
    elf32-little 
    (header little endian, data little endian) 
      i386 
    elf32-big 
    (header big endian, data big endian) 
      i386 
    srec 
    (header endianness unknown, data endianness unknown) 
      i386 
    symbolsrec 
    (header endianness unknown, data endianness unknown) 
      i386 
    tekhex 
    (header endianness unknown, data endianness unknown) 
      i386 
    binary 
    (header endianness unknown, data endianness unknown) 
      i386 
    ihex 
    (header endianness unknown, data endianness unknown) 
      i386 
    trad-core 
    (header endianness unknown, data endianness unknown) 
    
                  elf32-i386 a.out-i386-linux efi-app-ia32 elf64-x86-64 
              i386 elf32-i386 a.out-i386-linux efi-app-ia32 elf64-x86-64 
    
                  elf64-little elf64-big elf32-little elf32-big srec symbolsrec 
              i386 elf64-little elf64-big elf32-little elf32-big srec symbolsrec 
    
                  tekhex binary ihex trad-core 
              i386 tekhex binary ihex --------- 

    这里,显示的信息是相对于 -b 或者 -m 选项可用的架构和目标格式列表。 

    显示mytest.o文件中的text段的内容: 

    [root@localhost test]# objdump --section=.text -s mytest.o 
    mytest.o:     file format elf32-i386 
    Contents of section .text: 
    0000 5589e583 ec10c645 ff61c9c3 5589e583  U......E.a..U... 
    0010 ec10c745 fc020000 008345fc 02c9c3    ...E......E.... 

    这里注意,不能单独使用-j或者--section,例如objdump --section=.text mytest.o是不会运行成功的。 

    反汇编mytest.o中的text段内容,并尽可能用源代码形式表示: 

    [root@localhost test]# objdump -j .text -S mytest.o 
    mytest.o:     file format elf32-i386 
    Disassembly of section .text: 
    00000000 <_Z9printTestv>: 
    void printTest() 
       0:   55                      push   %ebp 
       1:   89 e5                   mov    %esp,%ebp 
       3:   83 ec 10                sub    $0x10,%esp 
    { 
            char a; 
            a = 'a'; 
       6:   c6 45 ff 61             movb   $0x61,0xffffffff(%ebp) 
    } 
       a:   c9                      leave  
       b:   c3                      ret    
    
    000000c <_Z10printTest2v>: 
    void printTest2() 
       c:   55                      push   %ebp 
       d:   89 e5                   mov    %esp,%ebp 
       f:   83 ec 10                sub    $0x10,%esp 
    { 
            int a = 2; 
      12:   c7 45 fc 02 00 00 00    movl   $0x2,0xfffffffc(%ebp) 
            a+=2; 
      19:   83 45 fc 02             addl   $0x2,0xfffffffc(%ebp) 
    } 
      1d:   c9                      leave  
      1e:   c3                      ret    

    这里注意,不能单独使用-j或者--section,例如objdump -j .text mytest.o是不会运行成功的。另外-S命令对于包含调试信息的目标文件,显示的效果比较好,如果编译时没有指定g++的-g选项,那么目标文件就不包含调试信息,那么显示效果就差多了。 

    反汇编出mytest.o的源代码: 

    [root@localhost test]# objdump -S mytest.o 
    mytest.o:     file format elf32-i386 
    
    Disassembly of section .text: 
    
    00000000 <_Z9printTestv>: 
    void printTest() 
       0:   55                      push   %ebp 
       1:   89 e5                   mov    %esp,%ebp 
       3:   83 ec 10                sub    $0x10,%esp 
    { 
            char a; 
            a = 'a'; 
       6:   c6 45 ff 61             movb   $0x61,0xffffffff(%ebp) 
    } 
       a:   c9                      leave  
       b:   c3                      ret    
    
    0000000c <_Z10printTest2v>: 
    void printTest2() 
       c:   55                      push   %ebp 
       d:   89 e5                   mov    %esp,%ebp 
       f:   83 ec 10                sub    $0x10,%esp 
    { 
           int a = 2; 
      12:   c7 45 fc 02 00 00 00    movl   $0x2,0xfffffffc(%ebp) 
            a+=2; 
      19:   83 45 fc 02             addl   $0x2,0xfffffffc(%ebp) 
    } 
      1d:   c9                      leave  
      1e:   c3                      ret    

    这里,尤其当编译的时候指定了-g这种调试参数时,反汇编的效果比较明显。隐含了-d参数。 

    显示文件的符号表入口: 

    [root@localhost test]# objdump -t mytest.o 
    mytest.o:     file format elf32-i386 
    
    SYMBOL TABLE: 
    00000000 l    df *ABS*  00000000 mytest.cpp 
    00000000 l    d  .text  00000000 .text 
    00000000 l    d  .data  00000000 .data 
    00000000 l    d  .bss   00000000 .bss 
    00000000 l    d  .debug_abbrev  00000000 .debug_abbrev 
    00000000 l    d  .debug_info    00000000 .debug_info 
    00000000 l    d  .debug_line    00000000 .debug_line 
    00000000 l    d  .debug_frame   00000000 .debug_frame 
    00000000 l    d  .debug_loc     00000000 .debug_loc 
    00000000 l    d  .debug_pubnames        00000000 .debug_pubnames 
    00000000 l    d  .debug_aranges 00000000 .debug_aranges 
    00000000 l    d  .note.GNU-stack        00000000 .note.GNU-stack 
    00000000 l    d  .comment       00000000 .comment 
    00000000 g     F .text  0000000c _Z9printTestv 
    00000000         *UND*  00000000 __gxx_personality_v0 
    0000000c g     F .text  00000013 _Z10printTest2v 

    这里,输出的信息类似nm -s命令的输出,相比较之下,nm命令的输出如下: 

    [root@localhost test]# nm -s mytest.o 
    0000000c T _Z10printTest2v 
    00000000 T _Z9printTestv 
             U __gxx_personality_v0 

    显示文件的符号表入口,将底层符号解码并表示成用户级别: 

    [root@localhost test]# objdump -t -C mytest.o 
    mytest.o:     file format elf32-i386 
    SYMBOL TABLE: 
    00000000 l    df *ABS*  00000000 mytest.cpp 
    00000000 l    d  .text  00000000 .text 
    00000000 l    d  .data  00000000 .data 
    00000000 l    d  .bss   00000000 .bss 
    00000000 l    d  .debug_abbrev  00000000 .debug_abbrev 
    00000000 l    d  .debug_info    00000000 .debug_info 
    00000000 l    d  .debug_line    00000000 .debug_line 
    00000000 l    d  .debug_frame   00000000 .debug_frame 
    00000000 l    d  .debug_loc     00000000 .debug_loc 
    00000000 l    d  .debug_pubnames        00000000 .debug_pubnames 
    00000000 l    d  .debug_aranges 00000000 .debug_aranges 
    00000000 l    d  .note.GNU-stack        00000000 .note.GNU-stack 
    00000000 l    d  .comment       00000000 .comment 
    00000000 g     F .text  0000000c printTest() 
    00000000         *UND*  00000000 __gxx_personality_v0 
    0000000c g     F .text  00000013 printTest2() 

    这里,和没-C相比,printTest2函数可读性增加了。 

    反汇编目标文件的特定机器码段: 

    [root@localhost test]# objdump -d mytest.o 
    mytest.o:     file format elf32-i386 
    Disassembly of section .text: 
    
    00000000 <_Z9printTestv>: 
       0:   55                      push   %ebp 
       1:   89 e5                   mov    %esp,%ebp 
       3:   83 ec 10                sub    $0x10,%esp 
       6:   c6 45 ff 61             movb   $0x61,0xffffffff(%ebp) 
       a:   c9                      leave  
      b:   c3                      ret    
    
    0000000c <_Z10printTest2v>: 
       c:   55                      push   %ebp 
       d:   89 e5                   mov    %esp,%ebp 
       f:   83 ec 10                sub    $0x10,%esp 
      12:   c7 45 fc 02 00 00 00    movl   $0x2,0xfffffffc(%ebp) 
      19:   83 45 fc 02             addl   $0x2,0xfffffffc(%ebp) 
      1d:   c9                      leave  
      1e:   c3                      ret    

    这里,对text段的内容进行了反汇编。 

    反汇编特定段,并将汇编代码对应的文件名称和行号对应上: 

    [root@localhost test]# objdump -d -l mytest.o
    mytest.o:     file format elf32-i386 
    Disassembly of section .text: 
    
    00000000 <_Z9printTestv>: 
    _Z9printTestv(): 
    /root/test/04_libraryTest/mytest.cpp:1 
       0:   55                      push   %ebp 
       1:   89 e5                   mov    %esp,%ebp 
       3:   83 ec 10                sub    $0x10,%esp 
    /root/test/04_libraryTest/mytest.cpp:4 
       6:   c6 45 ff 61             movb   $0x61,0xffffffff(%ebp) 
    /root/test/04_libraryTest/mytest.cpp:5 
       a:   c9                      leave  
       b:   c3                      ret    
    
    0000000c <_Z10printTest2v>: 
    _Z10printTest2v(): 
    /root/test/04_libraryTest/mytest.cpp:6 
       c:   55                      push   %ebp 
       d:   89 e5                   mov    %esp,%ebp 
       f:   83 ec 10                sub    $0x10,%esp 
    /root/test/04_libraryTest/mytest.cpp:8 
      12:   c7 45 fc 02 00 00 00    movl   $0x2,0xfffffffc(%ebp) 
    /root/test/04_libraryTest/mytest.cpp:9 
      19:   83 45 fc 02             addl   $0x2,0xfffffffc(%ebp) 
    /root/test/04_libraryTest/mytest.cpp:10 
      1d:   c9                      leave  
      1e:   c3                      ret    

    这里,项"-d"从objfile中反汇编那些特定指令机器码的section,而使用"-l"指定用文件名和行号标注相应的目标代码,仅仅和-d、-D或者-r一起使用,使用-ld和使用-d的区别不是很大,在源码级调试的时候有用,要求编译时使用了-g之类的调试编译选项。 

    显示目标文件各个段的头部摘要信息: 

    [root@localhost test]# objdump -h mytest.o 
    mytest.o:     file format elf32-i386 
    
    Sections: 
    Idx Name          Size      VMA       LMA       File off  Algn 
      0 .text         0000001f  00000000  00000000  00000034  2**2 
                      CONTENTS, ALLOC, LOAD, readonly, CODE 
      1 .data         00000000  00000000  00000000  00000054  2**2 
                      CONTENTS, ALLOC, LOAD, DATA 
      2 .bss          00000000  00000000  00000000  00000054  2**2 
                      ALLOC 
      3 .debug_abbrev 00000046  00000000  00000000  00000054  2**0 
                      CONTENTS, READONLY, DEBUGGING 
      4 .debug_info   000000ed  00000000  00000000  0000009a  2**0 
                      CONTENTS, RELOC, READONLY, DEBUGGING 
      5 .debug_line   0000003e  00000000  00000000  00000187  2**0 
                      CONTENTS, RELOC, READONLY, DEBUGGING 
      6 .debug_frame  00000044  00000000  00000000  000001c8  2**2 
                      CONTENTS, RELOC, READONLY, DEBUGGING 
      7 .debug_loc    00000058  00000000  00000000  0000020c  2**0 
                      CONTENTS, READONLY, DEBUGGING 
      8 .debug_pubnames 0000002f  00000000  00000000  00000264  2**0 
                      CONTENTS, RELOC, READONLY, DEBUGGING 
      9 .debug_aranges 00000020  00000000  00000000  00000293  2**0 
                      CONTENTS, RELOC, READONLY, DEBUGGING 
    10 .comment      0000002e  00000000  00000000  000002b3  2**0 
                      CONTENTS, READONLY 
    11 .note.GNU-stack 00000000  00000000  00000000  000002e1  2**0 
                      CONTENTS, READONLY 
    展开全文
  • Linux下objdump使用方法

    千次阅读 2019-06-03 11:16:11
    linux下objdump命令常见用法举例: objdump -x obj:以某种分类信息的形式把目标文件的数据组成输出;<可查到该文件的的所有动态库> objdump -t obj:输出目标文件的符号表() objdump -h obj:输出目标文件的...
  • objdump 使用指南

    2010-06-03 10:28:00
    objdump -j .text -S wbxtahoeas.2.8.2-40 &gt; tahoe2.8.2-40.txt ---------------objdump是用查看目标文件或者可执行的目标文件的构成的GCC工具----------  以下3条命令足够那些喜欢探索目标文件与源代码...
  • gcc & objdump使用总结

    2016-07-22 15:55:31
    GCC: -O0 -O1 -O2 -O3 :编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高 -S: 得到汇编代码(.s文件) -c: 编译得到目标代码(.o文件) ...-d: 反编译目标文件,如objdump -d code.o
  • objcopy和objdump使用教程

    千次阅读 2014-06-11 19:19:16
    使用objdump -i命令查看支持的目标码格式列表。 --disassemble或-d 反汇编可执行段 --disassemble-all或-D 反汇编所有段 -EB或-EL或--endian={big|little} 指定字节序 ...
  • 前些天做了两件事,1.strip符号表;2.查看so文件的代码是否inline... man的描述,objdump - display information from object files.    -d选项是输出汇编信息,-w是整行输出,不截断。具体用法参看man文档  
  • arm-linux工具的功能如下: arm-linux-addr2line 把程序...在命令行中给它一个地址和一个可执行文件名,它就会使用这个可执行文件的调试信息指出在给出的地址上是哪个文件以及行号。 arm-linux-ar 建立、修改、提
  • 地址:...在命令行中给它一个地址和一个可执行文件名,它就会使用这个可执行文件的调试信息指出在给出的地址上是哪个文件以及行号。arm-linux-ar 建立、修改、提取归档...
  • objdump,nm工具使用

    2019-07-11 16:31:53
    objdump使用 参数说明: objdump -sSdhx

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 732
精华内容 292
关键字:

objdump使用