1_0day安全漏洞分析技术学习_二进制文件概述_笔记

1.PE的架构(dll和EXE)

难点是加壳后无法分析。

2.虚拟内存

  当作银行和钞票来理解。涉及到底层操作系统。一般我们只考虑PE文件中的文件偏移和虚拟内存地址。

3.虚拟内存和PE文件的映射关系(重点)

  

  VA;RVA;IB(装载基地址,一般是0x00400000);文件偏移。其中装载基地址可以修改。0x400000是2的22次方,即4M的字节数是不分配的。

  PE映射至虚拟内存时,存在节偏移的问题:

  

  即一般PE中的一个存储的基本单位是0x200(512B)大小,虚拟内存中的一个基本单位是0x1000字节数,即4KB大小。数据节超出基本单位时,自动分配下一个基本单位,直到用0x00补齐。

  因此,PE映射到虚拟内存后,相对文件偏移会小于实际的RVA(即相对虚拟装载基址的虚拟偏移量。)

  

    节偏移的概念。相对虚拟地址偏移量-文件偏移量。节偏移即PE文件中的数据节,映射到虚拟内存后,相对于基址发生的变化。

    节偏移,也是数据节中所有字节位置,从PE文件映射到虚拟内存中之后,相对于基址发生的变化。

   

你永远不知道未来会有什么,做好当下。技术改变世界,欢迎交流。
原文地址:https://www.cnblogs.com/xiaojieshisilang/p/15293758.html