能力值:
( LV2,RANK:10 )
2 楼
1.字面意思
2.初始内存地址。exe一般为400000h,dll一般为10000000h
3.文件存储在磁盘上时,相对于文件头的地址
4.加载入内存后的地址
5.内存中相对于基地址的偏移
能力值:
( LV2,RANK:10 )
3 楼
入口点EntryPoint,指程序执行的第一行代码的地址,
物理地址,文件存在磁盘上地址
虚拟地址,文件映射到内存中地址
基地址,就是程序映射内存的初始位置
相对虚拟地址,就是程序映射到内存时某数据的地址相对于基地址的偏移量
我也是个新手,上面是我对这几个词汇的理解
能力值:
( LV2,RANK:10 )
4 楼
还是不太清楚,
我主要是对文件在硬盘上和加载到内存这个过程不明白
也就是说文件在硬盘上的地址和装入内存后的地址之间有啥关系?
能力值:
( LV2,RANK:10 )
5 楼
PE文件在装入内存后地址的相对偏移基本不变。RVA是内存中相对于PE文件装入地址的偏移量,例如EXE在400000h出装入内存,但是代码段开始于401000h,则代码段的RVA就是1000h。其他的数据段,与代码段类似,但装入地址不同。
能力值:
( LV12,RANK:1000 )
6 楼
relative virtual address 相对虚拟地址 ,pe文件装载到内存中的地址叫virtual address,以某个地址为起点,其他地址相对它的偏移叫 relative virtual address,通常这个起点就是指pe文件载入内存后的首地址。文件中的地址你拿winhex打开一个pe文件看看,再用od打开它对比一下就清楚了。如有误导概不负责。
能力值:
( LV2,RANK:10 )
7 楼
我也正在看第三版
1.入口点:就是程序的入口点,(程序)第一条执行指令的地址。
2.文件偏移地址:就是程序存在电脑(磁盘)上,各个数据的地址,0字节开始,第一字节偏移地址就是0,第二个就是1,第三个就是2,················
3.虚拟地址(内存偏移地址):程序运行的了那些地址,像程序加载到OD里,那些8位数的地址(16进)。
4.基址?,我也不知道,什么是被映射到指定内存地址中,映射我也头昏的,刚接触。
能力值:
( LV2,RANK:10 )
8 楼
RVA相对虚地址(Relative Virtual Addresses) 在 PE 格式中,有很多不同的区块需要定位,但是不可以指明一个绝对位置,所以 PE 里使用了 RVA。RVA 是一个相对于 Base address (基底位置) 的值,例如一个 PE 被载入到 0x400000,这个 PE 有一个区块的RVA 是 0x1000,那么这个区块在内存的实际位置便是 0x401000
能力值:
( LV2,RANK:10 )
9 楼
说到虚拟地址,没人想到操作系统的内存管理?
能力值:
( LV2,RANK:10 )
10 楼
谢谢大家的解答
还有几个疑问:
1.虚拟地址,是不是程序运行后装入内存时的首地址?
2.基地址,也是程序运行时装入内存的地址
以上这两个概念一样吗?
还有,我怎么给回答好的那个朋友看雪币?
能力值:
( LV2,RANK:10 )
11 楼
进程加载PE文件的时候要将文件内容读到进程中的某个地址,基地址就是这个首地址;
虚拟地址是个概念,不是指某一个地址,PE文件里每行代码都有一个虚拟地址.
能力值:
( LV2,RANK:10 )
12 楼
谢谢大家,
基本明白了
谢谢各位,
分数都分给你们了
能力值:
( LV2,RANK:10 )
13 楼
学习l !!