上次粗略说到PE的结构,这次说下PE结构中的DOS头部;ok请看下图:
对呀!DOS头部就是一个结构体,内部成员都是指针;前面的‘+0H’什么的是我加上去的地址编号,上次说过每个PE程序在磁盘中偏移 地址都是从0开始。
你可以把DOS头部看成是打上win的钢印,不然win是不认你的
这里重点记住两个成员就可以啦!
>e_magic //标记了这是DOS一个可执行文件
>e_lfanew //指向一个PE文件头的32位指针
上头为PE的二进制形式:
上面结构体中说了最后一个指针指向了PE开始处,而结构指针的地址为‘3c’所以对照上图找到‘3c’我们可以看到偏移地址是'00 01 00 00',他就指向PE的开始处
中间的很多0是为了内存对齐