外壳编写笔记一

初步了解PE文件结构
外壳编写笔记一_第1张图片

写入PE的DOS头和PE文件标志

第一个成员占2个字节,它被用于表示一个MS-DOS兼容的文件类型,他的值是固定的----“4D5A”。

image

第2个成员到第18个成员总共58个字节,是对DOS程序环境的初始化等操作,对于我们这个程序来说,没什么影响,

我们通通用“00”来填充注意:因为我们不可能把PE结构所。

image

写入PE的DOS头和PE文件标志

第19个成员非常重要,他占4个字节,用来表示“PE文件标志”在文件中的偏移,单位是byte。

而从图中可以看到  “PE文件标志”紧随“MS-DOS 实模式残余程序”其后。

image

64 + 112 = 176 byte=0xB0

4个字节B8000000

写入PE的DOS头和PE文件标志

image

1.查看_IMAGE_NT_HEADERS 结构:

typedef struct _IMAGE_NT_HEADERS {               

DWORD Signature;               

IMAGE_FILE_HEADER FileHeader;               

IMAGE_OPTIONAL_HEADER32 OptionalHeader;  

} IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32;

     第一个成员表示“PE文件标志”,可以看到他是一个DWORD类型,因此占4个
字节,它是PE开始的标记,对Windows程  序这个值必须为“50450000”,
即PE字符。

image

你可能感兴趣的:(border,target,结构,blank,外壳)