pwn學習日記Day18 《程序員的自我修養》讀書筆記
知識雜項
- obj文件:當前源代碼編譯成二進制目標文件
- exe文件:將.obj文件與庫文件.lib等文件連接生成的可執行文件
- 一個現代編譯器的主要工做流程以下:
源程序(source code)→ 預處理器(preprocessor)→ 編譯器(compiler)→ 彙編程序(assembler)→ 目標程序(object code)→ 鏈接器(連接器,Linker)→ 可執行程序(executables)
- 映像:由於PE文件在裝載時被直接映射到進程的虛擬空間運行。它是進程虛擬空間的映像。因此PE可執行文件不少時候被叫作映像文件。
windows的二進制文件格式PE/COFF
COFF文件的文件頭包括程序員
- 描述文件整體結構和屬性映像頭
- 描述文件中包含的段屬性的段表
PE基於COFF的主要變化:編程
- 最開始部分不是COFF文件頭,而是DOS MZ可執行文件格式的文件頭和樁代碼(DOS MZ File Header and Sub);
- 文件頭中映像頭擴展成映像頭加PE擴展頭部結構。
參考
《程序員自我修養》windows
歡迎關注本站公眾號,獲取更多信息