zoukankan      html  css  js  c++  java
  • 零基础逆向工程21_PE结构05_数据目录表_导出表

    数据目录

    1、我们所了解的PE分为头和节,在每个节中,都包含了我们写的一些代码和数据,但还有一些非常重要				
    的信息是编译器替我们加到PE文件中的,这些信息可能存在在任何可以利用的地方。				
    				
    2、这些信息之所以重要,是因为这些信息包含了诸如:				
    				
    PE程序的图标在哪里?				
    				
    用到了哪些系统提供的函数?				
    				
    为其他的程序提供哪些函数?				
    				
    3、编译器添加了这么多信息,那程序是如何找到这些信息的呢?				
    				
    答案就是:数据目录
    
    4、数据目录定位:
    
    可选PE头最后一个成员,就是数据目录.一共有16个:
    
    typedef struct _IMAGE_DATA_DIRECTORY {				
        DWORD   VirtualAddress;				//内存偏移
        DWORD   Size;				//大小
    } IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;
    
    #define IMAGE_NUMBEROF_DIRECTORY_ENTRIES    16
    
    分别是:导出表、导入表、资源表、异常信息表、安全证书表、重定位表、调试信息表、版权所以表、全局指针表
    TLS表、加载配置表、绑定导入表、IAT表、延迟导入表、COM信息表 最后一个保留未使用。  
    

    和程序运行时息息相关的表有:

    导出表
    导入表
    重定位表
    IAT表

    导出表

  • 相关阅读:
    word break II
    leetcode新题
    tensorflow数据读取过程
    python文本编辑: re.sub-------读取文本,去除指定字符并保存
    Anaconda安装及虚拟环境搭建教程(linux)
    语音合成
    关于Python错误提示: 'str' object is not callable
    语音识别学习阶段性总结(一)
    kaldi学习
    kaldi学习
  • 原文地址:https://www.cnblogs.com/flatcc/p/7627424.html
Copyright © 2011-2022 走看看