0x00000020 6c696263 2d322e33 2e362f62 75696c64 libc-2.3.6/build
0x00000030 2d747265 652f676c 6962632d 322e332e -tree/glibc-2.3.
0x00000040 362f6373 75006c6f 6e67206c 6f6e6720 6/csu.long long
0x00000050 696e7400 756e7369 676e6564 20636861 int.unsigned cha
0x00000060 7200474e 55204320 332e342e 36202855 r.GNU C 3.4.6 (U
0x00000070 62756e74 7520332e 342e362d 31756275 buntu 3.4.6-1ubu
0x00000080 6e747532 29006c6f 6e67206c 6f6e6720 ntu2).long long
0x00000090 756e7369 676e6564 20696e74 0073686f unsigned int.sho
0x000000a0 72742075 6e736967 6e656420 696e7400 rt unsigned int.
0x000000b0 5f494f5f 73746469 6e5f7573 656400_IO_stdin_used.
可执行文件是目标文件
在 Unix 中,可执行文件是 目标文件,并且您可以像对 a.out 文件那样对它们进行分析 。可以进行一次有益的练习,更改到 /bin 或 /local/bin 目录,然后针对一些您最常用的命令,如 pwd、ps、cat 或 rm,运行 nm、objdump 和 readelf 。通常,在您编写需要某种功能的程序时,如果标准的工具已经提供了这个功能,那么通过运行 objdump -d
如果您倾向于使用编译器和其他的语言工具,那么您可以对组成计算机系统的各种目标文件进行仔细研究,并且您将会发现这项工作是非常值得的 。UNIX 操作系统具有许多层次,那些通过工具查看目标文件所公开的层次,非常接近底层硬件 。通过这种方式,您可以真实地接触到系统 。
结束语
研究目标文件可以极大地加深您对 UNIX 操作系统的认识,并且可以更深入地了解如何对软件的源代码进行汇编 。我鼓励您使用本文中介绍的目标文件工具对系统中 /bin 或 /local/bin 目录中的程序进行分析,仔细研究其输出结果,并找出您的硬件制造商所提供的系统文档 。
推荐阅读
- 口令篇 UNIX操作系统的安全命令集
- 进行类Unix小型机系统管理的八项注意
- 类UNIX系统基础:文件安全与权限
- 在SCO Unix系统中实现业务数据的自动备份
- 构建SCO UNIX下的邮件系统
- sco unixware 7.1.1 全面学习资料
- SCO UNIX 系统下搭建电子邮件服务器
- undelete 如何在SCO UNIX下的反删除
- UNIX 常用指令介绍
- 对话 UNIX,第 7 部分: 命令行惯用语
