Exe 文件装载过程一、程序段前缀 PSP
1二、 程序加载及实现
4三、重定位过程
4四、在 DOS 下,重定位指的是重新定位在你的程序中所引用的段值
4五、exe 文件结构
5一、程序段前缀 PSPPSP ( Program segment prefix ) 称为程序段前缀,是 DOS 在加载外部命令或应用程序 (
COM 文件 ) 时,在加载的程序段前面设置的一个固定长度的信息区 ( 共 100H 字节 ), PSP 包括以下四个组成部分:l供进程调用的 DOS 入口 PSP+0 , +2 , +5, +50H 和 +2CH 字段l供进程使用的传递参数 PSP+5CH, +6CH 和 +80H 字段l为 DOS 保存的中断向量 PSP+0AH, +0EH , 和 +12H 字段l由 DOS 专用的保留区域 PSP+16H ~ 2BH 和 2EH ~ 37H 字段PSP 的某些关键字段涉及到系统内部管理,所以使用者不得更改偏移字节数说 明000002中断20H000202以节计算的内存大小(利用这个可看出是否感染引导型病毒)000401保留000505至 DOS 的长调用000A02INT 22H 入口 IP000C02INT 22H 入口 CS000E02INT 23H 入口 IP001002INT 23H 入口 CS001202INT 24H 入口 IP001402INT 24H 入口 CS001602父进程的 PSP 段值(可测知是否被跟踪)001814存放20个 SOFT 号002C02环境块段地址(从中可获知执行的程序名)002E04存放用户栈地址指针00321E保留005003DOS 调用 ( INT 21H / RETF )005302保留005507扩展的 FCB 头005C10格式化的 FCB1006C10格