加载PE程序是指 将Portable Executable(可移植可执行文件)从磁盘中读出,并加载到内存中执行的过程。PE文件是Windows操作系统上最常见的可执行文件格式之一,用于存储可执行代码和相关的数据。当用户运行一个PE文件时,操作系统会执行以下步骤:
创建虚拟地址空间:
加载程序为新进程创建一个虚拟地址空间,并将PE文件映射到新进程的地址空间中。
分析输入节:
加载程序对PE文件的输入节进行分析,对于每个列出的DLL名字,找出用户系统上的DLL模块,并将其映射到进程的地址空间。
内存分配与填充:
根据PE结构获取镜像大小,申请一段可读可写可执行的内存,并填充为0。
数据映射:
将读取的数据映射到内存中。
修复导入导出表:
修复PE文件中的导入和导出表,以便程序能够正确访问其他模块和系统资源。
修复重定位:
修复PE文件中的重定位信息,使程序在内存中的地址正确。
跳转到入口点执行:
跳转到PE文件的入口点,开始执行程序。
总之,加载PE程序是操作系统执行应用程序的一个重要步骤,它确保了程序能够正确加载到内存中并运行。