ELF文件本身的格式可以直接用工具观察二进制文件,下面的命令
可以观察到.comment section的相关内容:
bash-2.05# od -A x -c -j 0x1077 -N 0x24d test5
0000000 G N
U C
c r t 1 . s
\0 a s :
0000010 F
o r t e
D e v e l
o p e r
0000020
7 C o m
p i l e
r C o m
m
0000030 o
n 7 .
0 I A 3
2 - i t e a
0000040 m
2 0 0 1 /
1 2 / 1 2 \0
G N U
0000050
C c r t
i . s \0 a s
: F o
0000060 r t
e D e v
e l o p e
r 7
0000070 C o
m p i l e
r C o m
m o n
0000080 7 .
0 I A 3
2 - i t e
a m 2
0000090 0 0
1 / 1 2 /
1 2 \0 \0 @ (
# ) S
00000a0 u n
O S 5 .
9 G e n
e r i c
00000b0 _ 1
1 2 2 3 4
- 0 3 N
o v e m
00000c0 b e
r 2 0 0
2 \0 G C C
: ( G
00000d0 N U
) 3 . 3
. 2 \0 a s
: F o
00000e0 r t
e D e v
e l o p e
r 7
00000f0 C o
m p i l e
r C o m
m o n
0000100 7 .
0 I A 3
2 - i t e
a m 2
0000110 0 0
1 / 1 2 /
1 2 \0 G C C
: (
0000120 G N
U ) 3 .
3 . 2 \0 a s
: F
0000130 o r
t e D e
v e l o p
e r 7
0000140 C
o m p i l
e r C o
m m o n
0000150 7
. 0 I A
3 2 - i t
e a m
0000160 2 0
0 1 / 1 2
/ 1 2 \0 G C
C :
0000170 ( G
N U ) 3
. 3 . 2 \0 a
s :
0000180 F o
r t e D
e v e l o
p e r
0000190 7
C o m p i
l e r C
o m m o
00001a0 n
7 . 0 I
A 3 2 - i
t e a m
00001b0 2
0 0 1 / 1
2 / 1 2 \0 G
N U
00001c0 C
c r t n . o
\0 a s
: F o r
00001d0 t
e D e v
e l o p e
r 7 C
00001e0 o m
p i l e
r C o m
m o n 7
00001f0 .
0 I A 3
2 - i t e
a m 2 0
0000200 0 1
/ 1 2 / 1 2
\0 l d
: S o f
0000210 t w
a r e G
e n e r a
t i o n
0000220 U
t i l i t
i e s
- S o l
0000230 a r
i s L i
n k E d
i t o r
0000240 s
: 5 . 9
- 1 . 2 7 6
\0
000024d
3. 小结 本次实验再次分析和验证了全局变量和全局常量在进程地址空间的位
置以及和ELF文
件的关系,并涉及到以下几方面的概念:
Process Address Space 进程地址空
间
ELF EXECUTABLE AND LINKABLE FORMAT 可执行链接格式
Page align 页对齐 并且,利用Solaris提供的mdb,pmap,elfdump,od工具,直接观察到ELF文件的装载和格式。