PE/西瓜杯
PE
知识点1:
PE文件(Portable Executable,可移植可执行文件)是Windows操作系统中用于可执行文件、动态链接库(DLL)和驱动程序等二进制文件的标准文件格式。
知识点2:
PE文件头
DOS头:64字节
PE头:228字节(32位PE文件)或244字节(64位PE文件)
节表:每个节表项40字节,数量由
NumberOfSections
决定
1.DOS头(IMAGE_DOS_HEADER)
PE文件以一个64字节的DOS头开始,其主要目的是为了兼容早期的DOS系统。DOS头的结构如下:
e_magic:2字节,DOS签名,值为
0x5A4D
(即“MZ”)。e_lfanew:4字节,指向PE头的偏移位置。
2.PE头(IMAGE_NT_HEADERS)
PE头由以下三部分组成:
Signature:4字节,标识PE文件,值为
0x00004550
(即“PE\0\0”)。IMAGE_FILE_HEADER:20字节,包含文件的基本信息。
IMAGE_OPTIONAL_HEADER:224字节(32位PE文件)或240字节(64位PE文件),包含可选的扩展信息。
3.节表(Section Table)
节表紧随PE头之后,每个节表项的大小为40字节,其数量由
IMAGE_FILE_HEADER
中的NumberOfSections
字段决定。
所以打开该题的附件是.exe,但是不能运行,所以查看其十六进制。
使用软件,如010 Editor、WinHex。进行修改开头
我使用的010 Editor
最后运行得:
CTFShow{i95f5417b37c5e8019372de8737fI}