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

       

    你永远不知道未来会有什么,做好当下。技术改变世界,欢迎交流。
  • 相关阅读:
    汉诺塔解法解析
    scrapy 集成到 django(三)
    scrapy 集成到 django(二)
    scrapy 集成到 django(一)
    日记-2017-7-26-javascript
    日记-2017-7-25-django/admin-Levenshtein
    日记-2017-7-24-cp-css-django/media
    二叉树 4 种排序方式
    归并排序 / 快排
    django-import-export 插件
  • 原文地址:https://www.cnblogs.com/xiaojieshisilang/p/15293758.html
Copyright © 2011-2022 走看看