linux可执行文件的内容分析工具nm objdump readelf ar ldd.docx

上传人:rrsccc 文档编号:10408376 上传时间:2021-05-15 格式:DOCX 页数:44 大小:35.15KB
返回 下载 相关 举报
linux可执行文件的内容分析工具nm objdump readelf ar ldd.docx_第1页
第1页 / 共44页
linux可执行文件的内容分析工具nm objdump readelf ar ldd.docx_第2页
第2页 / 共44页
linux可执行文件的内容分析工具nm objdump readelf ar ldd.docx_第3页
第3页 / 共44页
linux可执行文件的内容分析工具nm objdump readelf ar ldd.docx_第4页
第4页 / 共44页
linux可执行文件的内容分析工具nm objdump readelf ar ldd.docx_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《linux可执行文件的内容分析工具nm objdump readelf ar ldd.docx》由会员分享,可在线阅读,更多相关《linux可执行文件的内容分析工具nm objdump readelf ar ldd.docx(44页珍藏版)》请在三一文库上搜索。

1、linux可执行文件的内容分析工具nm objdump readelf ar ldd盘算机编程的最新手艺将一种特别的人道取一组特别的东西分离正在一同,用以死产出对于其余人十分有关心的一种奇妙的产物,即硬件。盘算机步伐员是一群注意细节的人,他们能够处置盘算机中各类百般的坚苦。盘算机的请求十分刻薄,而且没有能容忍个中存正在任何的偏偏好。毫无疑难,不管你的共性怎样和正在事情中利用了何种帮助东西,盘算机步伐的编写皆长短常坚苦的。正在UNIX? 以及Linux? 中,任何事物皆是文件。你能够以为,UNIX 以及Linux 编程真际上是编写处置各类文件的代码。体系由很多范例的文件构成,但宗旨文件具备一种特

2、别的计划,供应了天真以及多样的用处。宗旨文件是包孕带有附减天址以及值的助记标记的线路图。那些标记能够用去对于各类代码段以及数据段举行定名,包含经由初初化的以及已初初化的。它们也能够用去定位嵌进的调试疑息,便像语义Web,十分合适由步伐举行浏览。止业东西盘算机编程中利用的东西包含代码编纂器,如vi 或者Emacs,你能够利用那些东西输出以及编纂但愿盘算机正在实现所需义务时实行的指令,和编译器以及毗连器,它们能够死成实正真现那些宗旨的呆板代码。下级的东西,称为散成调试情况(IDE),它以一致的中不雅散成为了没有同东西的功效。IDE 使患上编纂器、编译器、毗连器以及调试器之间的界线变患上很依稀。果此

3、,为了更深切天研讨以及懂得体系,正在利用散成的套件以前,最佳先独自天利用那些东西。(注重:IDE 也一般被称为散成开辟情况。)编译器能够将你正在代码编纂器中创立的文本转换为宗旨文件。最后,宗旨文件被称为代码的两头暗示情势,果为它用做毗连编纂器(即毗连器)的输出,而毗连编纂器终极实现全部义务并死成可实行的步伐做为输入。从代码到可实行代码的转换历程经由了优秀的界说并真现了主动化,而宗旨文件是那个链中无机的毗连性关键。正在那个转换历程中,宗旨文件做为毗连编纂器所利用的映象,使患上它们可以剖析各类标记并将没有同的代码以及数据段毗连正在一同构成一致的全体。汗青盘算机编程发域中存正在很多出名的宗旨文件体例

4、。DOS 系列包含COM、OBJ 以及EXE 体例。UNIX 以及Linux 利用 a.out、COFF 以及ELF。Microsoft? Windows? 利用可移植的实行文件(PE) 体例,而Macintosh 利用PEF、Mach-O 以及其余文件体例。最后,各类范例的盘算机具备本人共同的宗旨文件体例,但伴着UNIX 以及其余正在没有同硬件仄台上供应可移植性的操纵体系的呈现,一些经常使用的文件体例回升为通用的尺度。个中包含a.out、COFF 以及ELF 体例。要懂得宗旨文件,必要一组能够读与宗旨文件中没有同全体并以更容易于读与的体例隐示那些内容的东西。本文将会商那些东西中对比主要的圆里

5、。但尾先,你必需创立一个事情台,并正在个中创建一个研讨对于象。事情台启动一个xterm 会话,让咱们先创立一个空缺的事情台,并入手下手对于宗旨文件举行研讨。上面的下令创立了一个名目,能够将宗旨文件放到该名目中举行研讨:cdmkdir srccd srcmkdir hwcd hw而后,利用你最喜好的代码编纂器,正在$HOME/src/hw 名目中输出浑单 1 中的步伐,并定名为hw.c。浑单1. hw.c 步伐#include 要利用UNIX 东西库中供应的各类东西,能够将那个复杂的“Hello World”步伐做为研讨的对于象。你将教习构建以及检察宗旨文件的输入,而没有是利用任何快速圆法曲接创

6、立可实行文件(切实其实有很多那样的快速圆法)。文件体例C 编译器的一般输入是用于你所指定的宗旨处置器的汇编代码。汇编代码是汇编器的输出,正在缺省情形下,汇编器将死成一切宗旨文件的先人,即a.out 文件。那个称号自己暗示汇编输入(Assembler Output)。要创立a.out 文件,能够正在xterm 窗心中输出上面的下令:cc hw.c注重:假如呈现了任何同伴或者者出有创立a.out 文件,那末你大概必要反省本人的体系或者源文件(hw.c),以寻出个中的同伴。借必要反省是不是已经将cc 界说为运转你的C/C+ 编译器。最新的 C 编译器将编译以及汇编步调搭配成一个步调。你能够指定没有同

7、开闭选项以检察 C 编译器的汇编输入。经由过程输出上面的下令,你能够瞧到C 编译器的汇编输入:cc -S hw.c那个下令死成为了一个新的文件hw.s,个中包孕你一般无奈瞧到的汇编输出文本,果为编译器正在缺省情形下将死成 a.out 文件。正如所预期的,UNIX 汇编步伐能够对于那种输出文件举行汇编,以死成a.out 文件。UNIX 特定的东西假设编译历程所有逆利,那末正在该名目中便有了一个 a.out 文件,上面让咱们去对于其举行研讨。有很多可用于研讨宗旨文件的有代价的东西,上面即是个中一组:nm:列出宗旨文件中的标记。objdump:隐示宗旨文件中的具体疑息。readelf:隐示闭于ELF

8、 宗旨文件的疑息。详细的readelf下令能够检察本专客的其余文章列表中的第一个东西是nm,它能够列出宗旨文件中的标记。假如你输出nm 下令,你将注重到正在缺省情形下,它会觅寻一个名为a.out 的文件。假如出有寻到该文件,那个东西会给出响应的提醒。但是,假如该东西寻到了编译器创立的a.out 文件,它将隐示相似浑单2 的浑单。浑单2. nm 下令的输入08049594 A _bss_start080482e4 t call_gmon_start08049594 b completed.446308049498 d _CTOR_END_08049494 d _CTOR_LIST_0804958

9、8 D _data_start08049588 W data_start0804842c t _do_global_ctors_aux0804830c t _do_global_dtors_aux0804958c D _dso_handle080494a0 d _DTOR_END_0804949c d _DTOR_LIST_080494a8 d _DYNAMIC08049594 A _edata08049598 A _end08048458 T _fini08049494 a _fini_array_end08049494 a _fini_array_start08048478 R _fp_h

10、w0804833b t frame_dummy08048490 r _FRAME_END_08049574 d _GLOBAL_OFFSET_TABLE_ w _gmon_start_08048308 T _i686.get_pc_thunk.bx08048278 T _init08049494 a _init_array_end08049494 a _init_array_start0804847c R _IO_stdin_used080494a4 d _JCR_END_080494a4 d _JCR_LIST_ w _Jv_RegisterClasses080483e1 T _libc_c

11、su_fini08048390 T _libc_csu_init U _libc_start_mainGLIBC_2.008048360 T main08049590 d p.4462 U putsGLIBC_2.0080482c0 T _start那些包孕可实行代码的段称为注释段。一样天,数据段包孕了没有可实行的疑息或者数据。另外一品种型的段,称为BSS 段,它包孕以标记数据开首的块。对于于nm 下令列出的每一个标记,它们的值利用106进造去暗示(缺省止为),而且正在该标记后面减上了一个暗示标记范例的编码字符。罕见的各类编码包含:A 暗示尽对于(absolute),那象征着没有能将该值变动为

12、其余的毗连;B 暗示BSS 段中的标记;而C 暗示援用已初初化的数据的一样平常标记。能够将宗旨文件中所包孕的没有同的全体分别为段。段能够包孕可实行代码、标记称号、初初数据值以及很多其余范例的数据。无关那些范例的数据的具体疑息,能够浏览UNIX 中nm 的man 页里,个中依照该下令输入中的字符编码分手对于每一品种型举行了形容。细节,细节正在宗旨文件阶段,即便是一个复杂的Hello World 步伐,个中也包孕了年夜量的细节疑息。nm 步伐可用于枚举标记及其范例以及值,可是,要更子细天研讨宗旨文件中那些定名段的内容,必要利用功效更壮大的东西。个中两种功效壮大的东西是objdump 以及reade

13、lf 步伐。经由过程输出上面的下令,你能够瞧到宗旨文件中包孕可实行代码的每一个段的汇编浑单。对于于那么一个小的步伐,编译器死成为了那么多的代码,实的很使人惊奇!objdump -d a.out那个下令死成的输入如浑单 3 所示。每一个可实行代码段将正在必要特定的事务时实行,那些事务包含库的初初化以及该步伐自己主进心面。浑单3. objdump 下令的输入a.out: file format elf32-i386Disassembly of section .init:08048278 55 push %ebp 8048279: 89 e5 mov %esp,%ebp 804827b: 83 e

14、c 08 sub $0x8,%esp 804827e: e8 61 00 00 00 call 80482e4 8048283: e8 b3 00 00 00 call 804833b 8048288: e8 9f 01 00 00 call 804842c 804828d: c9 leave 804828e: c3 retDisassembly of section .plt:08048290 : 8048290: ff 35 78 95 04 08 pushl 0x8049578 8048296: ff 25 7c 95 04 08 jmp *0x804957c 804829c: 00 0

15、0 add %al,(%eax) .080482a0 : 80482a0: ff 25 80 95 04 08 jmp *0x8049580 80482a6: 68 00 00 00 00 push $0x0 80482ab: e9 e0 ff ff ff jmp 8048290 080482b0 : 80482b0: ff 25 84 95 04 08 jmp *0x8049584 80482b6: 68 08 00 00 00 push $0x8 80482bb: e9 d0 ff ff ff jmp 8048290 Disassembly of section .text:080482c

16、0 : 80482c0: 31 ed xor %ebp,%ebp 80482c2: 5e pop %esi 80482c3: 89 e1 mov %esp,%ecx 80482c5: 83 e4 f0 and $0xfffffff0,%esp 80482c8: 50 push %eax 80482c9: 54 push %esp 80482ca: 52 push %edx 80482cb: 68 e1 83 04 08 push $0x80483e1 80482d0: 68 90 83 04 08 push $0x8048390 80482d5: 51 push %ecx 80482d6: 5

17、6 push %esi 80482d7: 68 60 83 04 08 push $0x8048360 80482dc: e8 cf ff ff ff call 80482b0 80482e1: f4 hlt 80482e2: 90 nop 80482e3: 90 nop080482e4: 80482e4: 55 push %ebp 80482e5: 89 e5 mov %esp,%ebp 80482e7: 53 push %ebx 80482e8: e8 1b 00 00 00 call 8048308 80482ed: 81 c3 87 12 00 00 add $0x1287,%ebx

18、80482f3: 83 ec 04 sub $0x4,%esp 80482f6: 8b 83 fc ff ff ff mov 0xfffffffc(%ebx),%eax 80482fc: 85 c0 test %eax,%eax 80482fe: 74 02 je 8048302 8048300: ff d0 call *%eax 8048302: 83 c4 04 add $0x4,%esp 8048305: 5b pop %ebx 8048306: 5d pop %ebp 8048307: c3 ret08048308 : 8048308: 8b 1c 24 mov (%esp),%ebx

19、 804830b: c3 ret0804830c : 804830c: 55 push %ebp 804830d: 89 e5 mov %esp,%ebp 804830f: 83 ec 08 sub $0x8,%esp 8048312: 80 3d 94 95 04 08 00 cmpb $0x0,0x8049594 8048319: 74 0c je 8048327 804831b: eb 1c jmp 8048339 804831d: 83 c0 04 add $0x4,%eax 8048320: a3 90 95 04 08 mov %eax,0x8049590 8048325: ff

20、d2 call *%edx 8048327: a1 90 95 04 08 mov 0x8049590,%eax 804832c: 8b 10 mov (%eax),%edx 804832e: 85 d2 test %edx,%edx 8048330: 75 eb jne 804831d 8048332: c6 05 94 95 04 08 01 movb $0x1,0x8049594 8048339: c9 leave 804833a: c3 ret0804833b : 804833b: 55 push %ebp 804833c: 89 e5 mov %esp,%ebp 804833e: 8

21、3 ec 08 sub $0x8,%esp 8048341: a1 a4 94 04 08 mov 0x80494a4,%eax 8048346: 85 c0 test %eax,%eax 8048348: 74 12 je 804835c 804834a: b8 00 00 00 00 mov $0x0,%eax 804834f: 85 c0 test %eax,%eax 8048351: 74 09 je 804835c 8048353: c7 04 24 a4 94 04 08 movl $0x80494a4,(%esp) 804835a: ff d0 call *%eax 804835

22、c: c9 leave 804835d: c3 ret 804835e: 90 nop 804835f: 90 nop08048360 : 8048360: 55 push %ebp 8048361: 89 e5 mov %esp,%ebp 8048363: 83 ec 08 sub $0x8,%esp 8048366: 83 e4 f0 and $0xfffffff0,%esp 8048369: b8 00 00 00 00 mov $0x0,%eax 804836e: 83 c0 0f add $0xf,%eax 8048371: 83 c0 0f add $0xf,%eax 804837

23、4: c1 e8 04 shr $0x4,%eax 8048377: c1 e0 04 shl $0x4,%eax 804837a: 29 c4 sub %eax,%esp 804837c: c7 04 24 80 84 04 08 movl $0x8048480,(%esp) 8048383: e8 18 ff ff ff call 80482a0 8048388: b8 00 00 00 00 mov $0x0,%eax 804838d: c9 leave 804838e: c3ret 804838f: 90 nop08048390 : 8048390: 55 push %ebp 8048

24、391: 89 e5 mov %esp,%ebp 8048393: 57 push %edi 8048394: 56 push %esi 8048395: 31 f6 xor %esi,%esi 8048397: 53 push %ebx 8048398: e8 6b ff ff ff call 8048308 804839d: 81 c3 d7 11 00 00 add $0x11d7,%ebx 80483a3: 83 ec 0c sub $0xc,%esp 80483a6: e8 cd fe ff ff call 8048278 80483ab: 8d 83 20 ff ff ff lea

25、 0xffffff20(%ebx),%eax 80483b1: 8d 93 20 ff ff ff lea 0xffffff20(%ebx),%edx 80483b7: 89 45 f0 mov %eax,0xfffffff0(%ebp) 80483ba: 29 d0 sub %edx,%eax 80483bc: c1 f8 02 sar $0x2,%eax 80483bf: 39 c6 cmp %eax,%esi 80483c1: 73 16 jae 80483d9 80483c3: 89 d7 mov %edx,%edi 80483c5: ff 14 b2 call *(%edx,%esi

26、,4) 80483c8: 8b 45 f0 mov 0xfffffff0(%ebp),%eax 80483cb: 83 c6 01 add $0x1,%esi 80483ce: 29 f8 sub %edi,%eax 80483d0: 89 fa mov %edi,%edx 80483d2: c1 f8 02 sar $0x2,%eax 80483d5: 39 c6 cmp %eax,%esi 80483d7: 72 ec jb 80483c5 80483d9: 83 c4 0c add $0xc,%esp 80483dc: 5b pop %ebx 80483dd: 5e pop %esi 8

27、0483de: 5f pop %edi 80483df: 5d pop %ebp 80483e0: c3 ret080483e1 : 80483e1: 55 push %ebp 80483e2: 89 e5 mov %esp,%ebp 80483e4: 83 ec 18 sub $0x18,%esp 80483e7: 89 5d f4 mov %ebx,0xfffffff4(%ebp) 80483ea: e8 19 ff ff ff call 8048308 80483ef: 81 c3 85 11 00 00 add $0x1185,%ebx 80483f5: 89 75 f8 mov %e

28、si,0xfffffff8(%ebp) 80483f8: 89 7d fc mov %edi,0xfffffffc(%ebp) 80483fb: 8d b3 20 ff ff ff lea 0xffffff20(%ebx),%esi 8048401: 8d bb 20 ff ff ff lea 0xffffff20(%ebx),%edi 8048407: 29 fe sub %edi,%esi 8048409: c1 fe 02 sar $0x2,%esi 804840c: eb 03 jmp 8048411 804840e: ff 14 b7 call *(%edi,%esi,4) 8048

29、411: 83 ee 01 sub $0x1,%esi 8048414: 83 fe ff cmp $0xffffffff,%esi 8048417: 75 f5 jne 804840e 8048419: e8 3a 00 00 00 call 8048458 804841e: 8b 5d f4 mov 0xfffffff4(%ebp),%ebx 8048421: 8b 75 f8 mov 0xfffffff8(%ebp),%esi 8048424: 8b 7d fc mov 0xfffffffc(%ebp),%edi 8048427: 89 ec mov %ebp,%esp 8048429:

30、 5d pop %ebp 804842a: c3 ret 804842b: 90 nop0804842c : 804842c: 55 push %ebp 804842d: 89 e5 mov %esp,%ebp 804842f: 53push %ebx 8048430: 83 ec 04 sub $0x4,%esp 8048433: a1 94 94 04 08 mov 0x8049494,%eax 8048438: 83 f8 ff cmp $0xffffffff,%eax 804843b: 74 12 je 804844f 对于于那些入神于底层编程细节的步伐员去道,那是一个功效十分壮大的东

31、西,可用于研讨编译器以及汇编器的输入。细节疑息,好比那段代码中所隐示的那些疑息,能够掀示无关内地处置器自己运转圆式的不少内容。对于该处置器造制商供应的手艺文档举行深切的研讨,你能够支散闭于一些有代价的疑息,经由过程那些疑息能够深切天懂得外部的运转机造,果为功效步伐供应了浑晰的输入。相似天,readelf 步伐也能够浑楚天列出宗旨文件中的内容。输出上面的下令,你将能够瞧到那一面:readelf -all a.out那个下令死成的输入如浑单 4 所示。ELF Header 为该文件中一切段进心隐示了具体的戴要。正在枚举出那些Header 中的内容以前,你能够瞧到Header 的详细数量。正在研讨一

32、个较年夜的宗旨文件时,该疑息大概十分实用。浑单4. readelf 下令的输入ELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2s complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine:Intel 80386 Version: 0x1 Entry point address: 0x8

33、0482c0 Start of program headers: 52 (bytes into file) Start of section headers: 3504 (bytes into file) Flags: 0x0 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 7 Size of section headers: 40 (bytes) Number of section headers: 34 Section header string t

34、able index: 31Section Headers: Nr Name Type Addr Off Size ES Flg Lk Inf Al 0 NULL 00000000 000000 000000 00 0 0 0 1 .interp PROGBITS 08048114 000114 000013 00 A 0 0 1 2 .note.ABI-tag NOTE 08048128 000128 000020 00 A 0 0 4 3 .hash HASH 08048148 000148 00002c 04 A 4 0 4 4 .dynsym DYNSYM 08048174 00017

35、4 000060 10 A 5 1 4 5 .dynstr STRTAB 080481d4 0001d4 00005e 00 A 0 0 1 6 .gnu.version VERSYM 08048232 000232 00000c 02 A 4 0 2 7 .gnu.version_r VERNEED 08048240 000240 000020 00 A 5 1 4 8 .rel.dyn REL 08048260 000260 000008 08 A 4 0 4 9 .rel.plt REL 08048268 000268 000010 08 A 4 11 4 10 .init PROGBI

36、TS 08048278 000278 000017 00 AX 0 0 1 11 .plt PROGBITS 08048290 000290 000030 04 AX 0 0 4 12 .text PROGBITS 080482c0 0002c0 000198 00 AX 0 0 4 13 .fini PROGBITS 08048458 000458 00001d 00 AX 0 0 1 14 .rodata PROGBITS 08048478 000478 000015 00 A 0 0 4 15 .eh_frame PROGBITS 08048490 000490 000004 00 A

37、0 0 4 16 .ctors PROGBITS 08049494 000494 000008 00 W A 0 0 4 17 .dtors PROGBITS 0804949c 00049c 000008 00 W A 0 0 4 18 .jcr PROGBITS 080494a4 0004a4 000004 00 WA 0 0 4 19 .dynamic DYNAMIC 080494a8 0004a8 0000c8 08 WA 5 0 4 20 .got PROGBITS 08049570 000570 000004 04 W A 0 0 4 21 .got.plt PROGBITS 080

38、49574 000574 000014 04 W A 0 0 4 22 .data PROGBITS 08049588 000588 00000c 00 W A 0 0 4 23 .bss NOBITS 08049594 000594 000004 00 W A 0 0 4 24 .comment PROGBITS 00000000 000594 000126 00 0 0 1 25 .debug_aranges PROGBITS 00000000 0006c0 000088 00 0 0 8 26 .debug_pubnames PROGBITS 00000000 000748 000025

39、 00 0 0 1 27 .debug_info PROGBITS 00000000 00076d 00022b 00 0 0 1 28 .debug_abbrev PROGBITS 00000000 000998 000076 00 0 0 1 29 .debug_line PROGBITS 00000000 000a0e 0001bb 00 0 0 1 30 .debug_str PROGBITS 00000000 000bc9 0000bf 01 MS 0 0 1 31 .shstrtab STRTAB 00000000 000c88 000127 00 0 0 1 32 .symtab

40、 SYMTAB 00000000 001300 000520 10 33 63 4 33 .strtab STRTAB 00000000 001820 0002d2 00 0 0 1Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings) I (info), L (link order), G (group), x (unknown) O (extra OS processing required) o (OS specific), p (processor specific)There are no sec

41、tion groups in this file.Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg AlignPHDR 0x000034 0x08048034 0x08048034 0x000e0 0x000e0 R E 0x4 INTERP 0x000114 0x08048114 0x08048114 0x00013 0x00013 R 0x1 Requesting program interpreter: /lib/ld-linux.so.2 LOAD 0x000000 0x08048000 0x080480

42、00 0x00494 0x00494 R E 0x1000 LOAD 0x000494 0x08049494 0x08049494 0x00100 0x00104 RW 0x1000 DYNAMIC 0x0004a8 0x080494a8 0x080494a8 0x000c8 0x000c8 RW 0x4 NOTE 0x000128 0x08048128 0x08048128 0x00020 0x00020 R 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4 Section to Segment mappi

43、ng: Segment Sections. 00 01 .interp 02 .interp .note.ABI-tag .hash .dynsym .dynstr .gnu.version .gnu.version_r .rel. dyn .rel.plt .init .plt .text .fini .rodata .eh_frame 03 .ctors .dtors .jcr .dynamic .got .got.plt .data .bss 04 .dynamic 05 .note.ABI-tag 06Dynamic section at offset 0x4a8 contains 2

44、0 entries: Tag Type Name/Value 0x00000001 (NEEDED) Shared library: libc.so.6 0x0000000c (INIT) 0x8048278 0x0000000d (FINI) 0x8048458 0x00000004 (HASH) 0x8048148 0x00000005 (STRTAB) 0x80481d4 0x00000006 (SYMTAB) 0x8048174 0x0000000a (STRSZ) 94 (bytes) 0x0000000b (SYMENT) 16 (bytes) 0x00000015 (DEBUG)

45、 0x0 0x00000003 (PLTGOT) 0x8049574 0x00000002 (PLTRELSZ) 16 (bytes) 0x00000014 (PLTREL) REL 0x00000017 (JMPREL) 0x8048268 0x00000011 (REL) 0x8048260 0x00000012 (RELSZ) 8 (bytes) 0x00000013 (RELENT) 8 (bytes) 0x6ffffffe (VERNEED) 0x8048240 0x6fffffff (VERNEEDNUM) 1 0x6ffffff0 (VERSYM) 0x8048232 0x000

46、00000 (NULL) 0x0Relocation section .rel.dyn at offset 0x260 contains 1 entries: Offset Info Type Sym.Value Sym. Name08049570 00000506 R_386_GLOB_DAT 00000000 _gmon_start_Relocation section .rel.plt at offset 0x268 contains 2 entries: Offset Info Type Sym.Value Sym. Name08049580 00000107 R_386_JUMP_S

47、LOT 00000000 puts08049584 00000207 R_386_JUMP_SLOT 00000000 _libc_start_mainThere are no unwind sections in this file.Symbol table .dynsym contains 6 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 00000000 378 FUNC GLOBAL DEFAULT UND putsGLIBC_2.0 (2) 2: 00

48、000000 230 FUNC GLOBAL DEFAULT UND _libc_start_mainGLIBC_2.0 (2) 3: 0804847c 4 OBJECT GLOBAL DEFAULT 14 _IO_stdin_used 4: 00000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses 5: 00000000 0 NOTYPE WEAK DEFAULT UND _gmon_start_Symbol table .symtab contains 82 entries: Num: Value Size Type Bind Vis N

49、dx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 08048114 0 SECTION LOCAL DEFAULT 1 2: 08048128 0 SECTION LOCAL DEFAULT 2 3: 08048148 0 SECTION LOCAL DEFAULT 3 4: 08048174 0 SECTION LOCAL DEFAULT 4 5: 080481d4 0 SECTION LOCAL DEFAULT 5 6: 08048232 0 SECTION LOCAL DEFAULT 6 7: 08048240 0 SECTION LOCAL DEFAULT 7 8: 08048260 0 SEC

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1