编程语言
首页 > 编程语言> > pwn学习日记Day19 《程序员的自我修养》读书笔记

pwn学习日记Day19 《程序员的自我修养》读书笔记

作者:互联网

windows PE/COFF章总结

本章学习了windows下的可执行文件和目标文件格式PE/COFF。PE/COFF文件与ELF文件非常相似,它们都是基于段的结构的二进制文件格式。Windows下最常见的目标文件格式就是COFF文件格式,微软的编译器产生的目标文件都是这种格式。COFF文件有一个很有意思的段叫“.drectve段”,这个段中保存的是编译器传递给链接器的命令行参数,可以通过这个段实现指定运行库等功能。Windows下的可执行文件、动态链接库等都使用PE文件格式,PE文件格式是COFF文件格式的改进版本,增加了PE文件头、数据目录等一些结构,使得能够满足程序执行时的需求。

可执行文件的装载与进程

程序和进程什么区别

程序(或者狭义上讲可执行文件)是一个静态的概念,它是程序一些预先编译好的指令和数据集合的一个文件;进程则是一个动态的概念,它是程序运行时的一个过程,很多时候把动态库叫做运行时也有一定的含义。

进程虚拟空间分布

Linux
32位即4G被划分成两部分

Windows
两部分各占2G,可以通过修改根目录下的Boot.ini,加上“/3G”参数变成与Linux一样的划分。

PAE

操作系统提供一个窗口映射的方法,把额外的内存(4G以外)映射到进程地址空间。(Windows AWE;Linux mmap()函数)

知识杂项

参考

《程序员的自我修养》

标签:读书笔记,Windows,Linux,进程,文件格式,PE,pwn,Day19,COFF
来源: https://www.cnblogs.com/luoleqi/p/10908411.html