能力值:
( LV6,RANK:90 )
|
-
-
2 楼
不存在如何看待的问题吧,就是要执行的话,得把pe文件放到内存里,然后填充其IAT,(有时需要)再按照重定位表做一些重定位的工作,完成这个工作的就是pe装载器
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
PE加载器是操作系统的一部分,PE文件要想在内存中运行,必须是内存映射文件的格式,在硬盘中存的文件可能和内存中的格式在对齐方式不一样,加载器负责修正。另外就是楼上说的要对PE文件中的输入表进行加载,把需要用到的API或者DLL加载到进程空间中,然后把要用到的函数地址放入IAT中。对于DLL文件来说一般要进行重定位,一般的DLL加载到内存中都很难保证从想要的基址载入(系统DLL一般都是加载到自己的基址上面),所以文件中的一些地址数据需要进行重定位,保证程序运行时可以找到正确的地址。
这些是加载器做的最基本的东西,真正的windows加载器做的远不止这些。楼主可以看看介绍PE LOADER的一些资料,有个外国人写的比较好,可以百度或者GOOGLE一下。希望可以帮到楼主
|
能力值:
(RANK:300 )
|
-
-
4 楼
想详细了解PE的加载过程可以看看这本书,说的很详细。
Microsoft Windows Internals
|
|
|