关于PE学习问题请教
1.所谓的术语映射,是否是指把数据(对于字符操作不分代码和数据)从一个地方搬到另外一个地方,按照原样IMAGE_EXPORT_DESCRIPTRO struc
+00h Characteristics dd
+04h TimeDateStamp dd
+08h MajorVersion dw
+0ah MinorVersion dw
+0ch nName dd ;RVA指向编译时的模块名
+10h nBase dd ;起始序号
+14h NumberOfFunctions dd ;导出函数总数
+18h NumberOfNames dd ;已名字导出的函数数量
+1ch AddressOfFunctions dd ;RVA指向导出函数地址列表
+20h AddressOfNames dd ;RVA指向函数名称地址列表,注意该列表项是指向函数名称的RVA
+24h AddressOfNameOrdinal dd ;RVA指向序号列表,列表项为word型,是联系函数名称与函数地址的桥梁
IMAGE_EXPORT_DESCRIPTOR ends
AddressOfNames
AddressOfFunctions
这两个双字空间存放的是地址值 指向 数组 我弄不明白的是 这个地址值 怎么来的呢,指向哪
在文件里面木有 在虚拟内存空间里面也木有 这两个成员的信息
再就是 这个指向字符串的AddressOfNames 里面存放的是字符串的地址,这个地址指向的 字符串在哪呢
这个AddressOfFunctions 这个里面放的是 API的入口地址,这个API的地址 指向哪呢
书上没有讲呀,好几本电子书上 对这个细节 都没怎么说,就说了个机制 机制是懂了
再就是从书上的只言片语中可以获得一个信息 这个DLL文件的组织 确实是存在一个关于函数信息表的,有两种搜索的方法 索引号16位 和 字符串 方式
这个调用API的过程是先得磁盘找到API的代码片段,再加载到内存中,这个有虚拟内存和物理地址的区别,虚拟地址是磁盘的上开辟的swp区吗? 这个API的代码段是否直接被加载到内存中
这两个成员,据书上描述已经很确认了,是虚拟地址,那么它的物理地址信息在哪呢
越看 疑问越多,脑袋越觉得疼,就越想弄明白,是不是不正常了我
虚拟的4GB空间是彼此分开的,这个 DLL 里面的东西
是从哪个地方 被映射的
唉 我昏头了,也转向了,要挂了,求救命
[ 本帖最后由 zhu224039 于 2012-12-1 13:27 编辑 ]