`

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

阅读更多

用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 ....

    Linux初,中级学习者教程-Linux操作系统技术合集

    - **寻找可执行文件**:介绍如何查找已安装的程序或脚本的位置。 - **让“添加/删除软件”工具有效**:提供使用该工具的技巧和注意事项。 - **让KDE显示中文菜单**:配置KDE以支持中文显示的方法。 - **安装nvidia...

    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