能力值:
(RANK:300 )
|
-
-
2 楼
由于是刚刚着手学习linux下文件类型...吃的不是很透。
如果有同样的兴趣可以一起探讨学习....
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
谢谢斑竹:)
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
盼望高手给予解答一下.谢谢
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
热盼大家解答
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
我一定要把高人等出来
|
能力值:
(RANK:300 )
|
-
-
7 楼
你很专注嘛,呵呵。我最近出去了一下,没有仔细看
1)rel.dyn的内容是什么?做什么用的?
dyn 节表的功能你自己查查
rel 是指的被重定向后的节表。有点像pe结构里的函数导入表,被导入之前是普通的节表。被导入正确的函数地址后就要在写到对应的relname节表中...
我也是学习之初,共同进步.
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
谢谢楼上的.
rel都是重定位的,rel.dyn我查的意思好象是告诉系统,重定位用到了哪些*.so文件,不知道对否.
盼指教.
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
试着解答一下,不一定对
>>1)rel.dyn的内容是什么?做什么用的?
这是重定位节,主要重定位变量
>>2)GOT节里面除了与plt相关的内容,还有用作别的用处的内容吗?
还有变量
>>3)hash节具体怎么构建?
hash节是为了加快动态链接速度而创建的
它的使用算法是,
1. hn = elf_hash(sym_name) % nbuckets;
2. for (ndx = hash[ hn ]; ndx; ndx = chain[ ndx ]) {
3. symbol = sym_tab + ndx;
4. if (strcmp(sym_name, str_tab + symbol->st_name) == 0)
5. return (load_addr + symbol->st_value); }
不难知道构建算法
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
谢谢楼上的.
对于第一第二个问题,能否具体点.谢谢
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
>>1)rel.dyn的内容是什么?做什么用的?
这是重定位节,一般在动态链接库和可执行文件中存在,主要用于重定位全局变量和局部变量,有三种重定位类型:R_386_COPY,R_386_RELATIVE,R_386_GLOB_DAT
>>2)GOT节里面除了与plt相关的内容,还有用作别的用处的内容吗?
还有用于重定位全局变量的项,重定位类型R_386_GLOB_DAT与之对应
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
谢谢楼上的兄弟.
不过我还得琢磨一下,呵呵,还是不十分清楚
|
|
|