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.
可執(zhí)行文件是目標(biāo)文件
在 Unix 中,可執(zhí)行文件是 目標(biāo)文件,并且您可以像對 a.out 文件那樣對它們進(jìn)行分析 ??梢赃M(jìn)行一次有益的練習(xí),更改到 /bin 或 /local/bin 目錄,然后針對一些您最常用的命令,如 pwd、ps、cat 或 rm,運(yùn)行 nm、objdump 和 readelf 。通常,在您編寫需要某種功能的程序時(shí),如果標(biāo)準(zhǔn)的工具已經(jīng)提供了這個(gè)功能,那么通過運(yùn)行 objdump -d
如果您傾向于使用編譯器和其他的語言工具,那么您可以對組成計(jì)算機(jī)系統(tǒng)的各種目標(biāo)文件進(jìn)行仔細(xì)研究,并且您將會(huì)發(fā)現(xiàn)這項(xiàng)工作是非常值得的 。UNIX 操作系統(tǒng)具有許多層次,那些通過工具查看目標(biāo)文件所公開的層次,非常接近底層硬件 。通過這種方式,您可以真實(shí)地接觸到系統(tǒng) 。
結(jié)束語
研究目標(biāo)文件可以極大地加深您對 UNIX 操作系統(tǒng)的認(rèn)識(shí),并且可以更深入地了解如何對軟件的源代碼進(jìn)行匯編 。我鼓勵(lì)您使用本文中介紹的目標(biāo)文件工具對系統(tǒng)中 /bin 或 /local/bin 目錄中的程序進(jìn)行分析,仔細(xì)研究其輸出結(jié)果,并找出您的硬件制造商所提供的系統(tǒng)文檔 。
推薦閱讀
- 口令篇 UNIX操作系統(tǒng)的安全命令集
- 進(jìn)行類Unix小型機(jī)系統(tǒng)管理的八項(xiàng)注意
- 類UNIX系統(tǒng)基礎(chǔ):文件安全與權(quán)限
- 在SCO Unix系統(tǒng)中實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)的自動(dòng)備份
- 構(gòu)建SCO UNIX下的郵件系統(tǒng)
- sco unixware 7.1.1 全面學(xué)習(xí)資料
- SCO UNIX 系統(tǒng)下搭建電子郵件服務(wù)器
- undelete 如何在SCO UNIX下的反刪除
- UNIX 常用指令介紹
- 對話 UNIX,第 7 部分: 命令行慣用語
