• 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文件映射到虚拟内存中之后,相对于基址发生的变化。

       

    你永远不知道未来会有什么,做好当下。技术改变世界,欢迎交流。
  • 相关阅读:
    C语言位操作
    Ribbon负载规则的替换
    Nginx 的配置文件
    Nginx 操作常用的命令
    Nginx 是什么?
    SpringCloud Eureka 新版本依赖
    @Autowired 与@Resource的区别
    spring 注释
    redis 的 rdb 和 aof 持久化的区别
    jdk1.7下HashMap的头插法问题
  • 原文地址:https://www.cnblogs.com/xiaojieshisilang/p/15293758.html
Copyright © 2020-2023  润新知