当前位置: 首页 > wzjs >正文

做微网站多少钱网络营销的基本方法有哪些

做微网站多少钱,网络营销的基本方法有哪些,做外贸需要注册哪些b2b网站,淘宝网网页版登录入口在哪里公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​链接点击跳转博客主页 目录 什么是 IMAGE_EXPORT_DIRECTORY? PE 文件与 Export Table 的关系 PE 文件的整体视角 Export Table 在 PE 中的定位 IMAGE_EXPORT_DIRECTORY 结构 数据结构定义 字段详解…
  • 公开视频 -> 链接点击跳转公开课程
  • 博客首页 -> ​​​链接点击跳转博客主页

目录

什么是 IMAGE_EXPORT_DIRECTORY?

PE 文件与 Export Table 的关系

PE 文件的整体视角

Export Table 在 PE 中的定位

IMAGE_EXPORT_DIRECTORY 结构

数据结构定义

字段详解

Characteristics

TimeDateStamp

MajorVersion 和 MinorVersion

Name

Base

NumberOfFunctions

NumberOfNames

AddressOfFunctions

AddressOfNames

AddressOfNameOrdinals

Export Table 的三个主要数组的关系

AddressOfFunctions(函数地址表)

AddressOfNames(名称指针表)

AddressOfNameOrdinals(序号表)

导出表的工作流程

导出表在攻击中的应用

API Hook

恶意 Shellcode 的注入

导出表在防御中的实际应用

完整性验证

内存防护机制


什么是 IMAGE_EXPORT_DIRECTORY?

概述

  • 在 Windows PE 文件结构中,IMAGE_EXPORT_DIRECTORY 是用于描述模块 (DLL 或 EXE) 所导出(函数或变量)信息的核心结构。
  • 通过 Export Directory,其他模块可以访问当前模块公开的符号,如动态函数链接调用的函数地址。

PE 文件与 Export Table 的关系

PE 文件的整体视角

PE 文件是一种模块化执行文件格式。它包含以下部分:

  • Headers 部分:包括 DOS Header、PE Header,用来描述文件结构和入口点等。
  • Data Directories 部分:包含导出表(Export Table)、导入表(Import Table)、重定位表(Relocation Table)等指针。

Export Table 在 PE 中的定位

  • Export Table 是 Data Directories 的一项,位于 PE 可选头部中的 IMAGE_DATA_DIRECTORY 中。
  • 它的作用是描述该模块导出的所有符号(函数或变量),并支持函数按名称或序号的调用。
  • 常用于动态链接库 (DLL) 的导出 API。

IMAGE_EXPORT_DIRECTORY 结构

数据结构定义

在 Windows SDK 的 winnt.h 文件中,IMAGEEXPORTDIRECTORY 的结构定义如下:

typedef struct _IMAGE_EXPORT_DIRECTORY {DWORD   Characteristics;        // 保留字段(总为0)DWORD   TimeDateStamp;          // 时间戳(编译器生成时间)WORD    MajorVersion;           // 主版本号(通常为0)WORD    MinorVersion;           // 次版本号(通常为0)DWORD   Name;                   // DLL名称的RVA(如"kernel32.dll")DWORD   Base;                   // 导出函数序号的基值(实际序号=索引+Base)DWORD   NumberOfFunctions;      // 导出函数总数(最大的导出序号 - 最小的导出序号 + 1)DWORD   NumberOfNames;          // 按名称导出的函数数量(可能小于总数)DWORD   AddressOfFunctions;     // 函数地址数组的RVA(每个元素为函数RVA)DWORD   AddressOfNames;         // 函数名称数组的RVA(每个元素为名称RVA)DWORD   AddressOfNameOrdinals;  // 函数序号数组的RVA(每个元素为索引)
} IMAGE_EXPORT_DIRECTORY;

字段详解

Characteristics

  • 保留字段,通常为 0。

TimeDateStamp

  • 用于表示导出表生成的时间戳。
  • 用于验证导出表的有效性。

MajorVersion 和 MinorVersion

  • 保留字段,表示模块的主次版本号。实际很少使用。

Name

  • 模块名称(DLL 文件名)的 RVA,例如 "kernel32.dll"。

Base

  • 起始导出序号值。默认是 1,但可以自定义为其它值。

NumberOfFunctions

  • 导出函数地址表中条目数量。
  • 即模块实际可以导出的符号总量。

NumberOfNames

  • 导出名称表中的名称数量。
  • 注意: 这可能小于 NumberOfFunctions,因为不是所有函数都有名称(某些只通过序号导出)。

AddressOfFunctions

  • 一个指向 RVA 的数组,每个条目是导出函数地址。

AddressOfNames

  • 一个指向 RVA 的数组,每个条目是导出函数名称字符串的 RVA。

AddressOfNameOrdinals

  • 一个指向数组的 RVA,每个条目对应导出名称表中名称的序号(以 Base 为基数)。

Export Table 的三个主要数组的关系

AddressOfFunctions(函数地址表)

  • 储存实际导出函数的入口地址(RVA)。
  • 大小等于 NumberOfFunctions * sizeof(DWORD)。

AddressOfNames(名称指针表)

  • 储存名称的 RVA,仅包含按名称导出的符号。
  • 大小等于 NumberOfNames * sizeof(DWORD)。

AddressOfNameOrdinals(序号表)

  • 每个名称对应的函数序号。
  • 这些序号用来索引函数地址表中的指定条目。
  • 大小等于 NumberOfNames * sizeof(WORD)。

导出表的工作流程

  1. PE 加载器读取 Data Directory,定位到 IMAGE_EXPORT_DIRECTORY 的 RVA。
  2. 通过 AddressOfFunctions、AddressOfNames 和 AddressOfNameOrdinals 解析导出符号。
    1. 如果按照函数名导出,从名称表和序号表定位到函数地址。
    2. 如果按照函数序号导出,直接用序号索引函数地址表。
  3. 动态生成外部模块可以调用的函数地址。

导出表在攻击中的应用

API Hook

攻击者通过修改导出表(尤其是导出地址表,即 Export Address Table, EAT)中函数地址,将正常的函数调用重定向到恶意函数,进而拦截数据或执行恶意代码。

  • 功能篡改:
    • 攻击者拦截导出的关键函数(如 OpenFile、ReadFile),窃取用户数据或操作文件。
  • 隐藏恶意行为:
    • 将监控函数(如 NtQuerySystemInformation)指向伪造的函数,隐藏自身的进程和对象。

恶意 Shellcode 的注入

  • 添加自定义导出函数,伪装成合法的 DLL。
  • 使用恶意 Shellcode 替代导出函数实现远程控制或蠕虫传播。

导出表在防御中的实际应用

完整性验证

导出表是 PE 文件结构的核心,可以作为完整性校验的依据:

  • 验证导出地址是否指向合法的函数地址。
  • 验证所有导出函数的序号和名称是否匹配。
  • 针对 DLL 劫持攻击的防御:通过比对导出表内容和原始文件的导出表,检测是否被篡改。
  • 防止 Hook 或 API 替换攻击:验证导出表指向的内存区域是否合法。

内存防护机制

Windows 的现代内存防护技术可以用来保护导出表免受修改。

  • DEP(数据执行保护):
    • 防止攻击者直接修改导出表的函数地址指向恶意代码。
  • ASLR(地址空间布局随机化):
    • 随机化模块加载地址,增加攻击者定位导出表的难度。
http://www.dtcms.com/wzjs/88345.html

相关文章:

  • wordpress判断子分类seo是如何优化
  • 安顺市哪里可以做网站产品营销方案策划
  • 卧龙区网站制作seo自己怎么做
  • 网址大全查询网站百度客户端手机版
  • 关于公司门户网站建设的议案什么关键词能搜到资源
  • 给网站做优化怎么做廊坊网站设计
  • 懒人建站网站点击量与排名
  • 基于wordpress门户网站百度网站下载安装
  • 电子商务门户网站的研究与实现网站设计服务企业
  • 公众号做成网站那样怎么做做营销型网站的公司
  • 手机电子商务网站建设sem竞价推广公司
  • 新乐网站制作价格杭州专业seo
  • 创业项目排行榜前十名seo外链优化
  • 官网定制公司seo排名工具给您好的建议
  • 织梦cms sql注入破解网站后台管理员账号密码关键词歌词打印
  • 有什么网站做交流会海南网站设计
  • 做系统前的浏览网站能找回吗淘宝店铺转让价格表
  • 企业网络平台建设贵阳百度快照优化排名
  • 温州电子商务网站建设快速网站轻松排名哪家好
  • 企业网站后端模板百度首页网站推广多少钱一年
  • 北京网站设计精选柚v米科技合肥网络营销公司
  • 后缀是.cc的网站友情链接交换
  • 强生的网站建设原则平台推广员是做什么的
  • 商城网站建设哪家好百度推广登陆入口官网
  • 闵行做网站公司百度公司招聘
  • seo是做什么工作的seo公司排名教程
  • 免费的毕业设计网站建设北京网站优化常识
  • 公司设计网站关键词seo公司推荐
  • 坪山网站建设哪家公司靠谱seo交流中心
  • 先备案域名还是先做网站百度代理服务器