`

太神奇了,居然可以查看可执行文件里面的符号

阅读更多

用nm命令,查看a.out文件内部,居然可以看到如下内容:

0000000000601058 B TIME

0000000000600e48 d _DYNAMIC

0000000000600fe8 d _GLOBAL_OFFSET_TABLE_

00000000004007a8 R _IO_stdin_used

                 w _Jv_RegisterClasses

0000000000600e28 d __CTOR_END__

0000000000600e20 d __CTOR_LIST__

0000000000600e38 D __DTOR_END__

0000000000600e30 d __DTOR_LIST__

0000000000400890 r __FRAME_END__

0000000000600e40 d __JCR_END__

0000000000600e40 d __JCR_LIST__

0000000000601040 A __bss_start

                 U __cxa_atexit@@GLIBC_2.2.5

0000000000601030 D __data_start

0000000000400760 t __do_global_ctors_aux

00000000004005e0 t __do_global_dtors_aux

0000000000601038 d __dso_handle

0000000000400580 T __gmon_start__

0000000000600e1c d __init_array_end

0000000000600e1c d __init_array_start

00000000004006a0 T __libc_csu_fini

00000000004006b0 T __libc_csu_init

                 U __libc_start_main@@GLIBC_2.2.5

                 U __monstartup@@GLIBC_2.2.5

0000000000601040 A _edata

0000000000601060 A _end

0000000000400798 T _fini

00000000004004c8 T _init

                 U _mcleanup@@GLIBC_2.2.5

0000000000400550 T _start

0000000000400740 T atexit

00000000004005c0 t call_gmon_start

0000000000601040 b called.3815

0000000000601048 b completed.7424

0000000000601030 W data_start

0000000000601050 b dtor_idx.7426

00000000004007a6 A etext

0000000000400650 t frame_dummy

0000000000400674 T main

                 U mcount@@GLIBC_2.2.5

                 U printf@@GLIBC_2.2.5


一个汇编语言的程序段

it so amazing!
分享到:
评论

相关推荐

    深入了解链接器:链接不同目标文件的神奇工具

    生成输出文件:链接器将合并的模块和符号表等信息写入输出文件中,该输出文件可以是可执行文件、共享库、目标文件等,具体类型取决于链接器的参数和配置。 符号表处理:链接器生成输出文件的符号表,其中包含了可供...

    编码的奥秘编码的奥秘编码的奥秘编码的奥秘编码的奥秘

    编码的奥秘在于其能够将复杂的信息转化为机器可读的形式,使得计算机能执行各种任务。本文将深入探讨编码的原理、类型以及其在不同领域的应用。 首先,我们要明白编码的基本概念。编码(Encoding)是指将信息(如...

    仙灵:神奇的ELF和Mach-o对象文件编写器后端

    它包含了代码、数据、符号表、重定位信息等,使得链接器可以将多个对象文件组合成一个可执行文件或动态库。ELF格式的灵活性使其成为许多现代操作系统的选择,包括Linux及其变种。 接下来是Mach-o格式,它是Apple ...

    Linux操作系统基础教程

    可以自由传播且可任人修改、充实、发展,开发者的初衷是要共同创造一个完美、理想并 可以免费使用的操作系统。 我们并不能使同学们通过这次系列讲座成为一个 UNIX 类操作系统的高手,这次系列 讲座的目的就是在...

    一波神奇的Python语句、函数与方法的使用技巧总结

    在发布Python第三方包时,为了限制外部可访问的接口,我们可以在`__init__.py`文件中定义`__all__`列表。这个列表包含了我们希望导出的模块、类和函数的名称。例如: ```python from .base import APIBase from ....

    python入门到高级全栈工程师培训 第3期 附课件代码

    本资料仅用于学习,请查看后24小时之内删除。 【课程内容】 第1章 01 计算机发展史 02 计算机系统 03 小结 04 数据的概念 05 进制转换 06 原码补码反码 07 物理层和数据链路层 08 网络层和arp协议 09 传输层和应用...

    Java编写的简单语法、词法分析

    在编程领域,编译原理是理解程序如何转化为计算机可执行代码的关键部分。本文将深入探讨使用Java语言进行的简单语法和词法分析,这对于学习编译原理和理解编译器的工作流程至关重要。 首先,让我们从词法分析开始。...

    经典12864和DS18B20温度显示程序.pdf

    文件内容虽然部分由于OCR技术原因,出现了一些错误,但是核心内容仍然可以辨识。以下是对该文档中涉及知识点的详细说明。 首先,STC89C52是一款8位微控制器,属于STC系列单片机,它基于经典的8051内核。STC89C52...

    人教版高中政治必修一知识点归纳总结汇总.docx

    根据给定文件的信息,我们可以将人教版高中政治必修一的第一单元《生活与消费》中的知识点进行详细的归纳总结。 ### 第一单元 生活与消费 #### 第一课 神奇的货币 ##### 1. 商品 - **定义**:用于交换的劳动产品...

Global site tag (gtag.js) - Google Analytics