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

大岭山建设网站wordpress cx udy

大岭山建设网站,wordpress cx udy,wordpress 2.0,网站做排名2015我们在分析Windows自带的一些程序时,常常发现有的程序,如notepad,他的IAT表在文件加载内存前已经完成绑定,存储了函数的地址。这样做可以使得程序是无需修改IAT表而直接启动,这时程序启动速度变快。但这种方式只适用于…

我们在分析Windows自带的一些程序时,常常发现有的程序,如notepad,他的IAT表在文件加载内存前已经完成绑定,存储了函数的地址。这样做可以使得程序是无需修改IAT表而直接启动,这时程序启动速度变快。但这种方式只适用于dll按照预先设定ImageBase装载而不重分配的情况

当dll没有按照预先设定的ImageBase进行装载,IAT表在文件加载内存前进行绑定就会出现问题了

为了判断一个程序的IAT是否在加载内存前就已经进行了绑定,PE的导入表中提供了TimeDateStamp时间戳成员变量:当该值为0时,表示该导入表对应的IAT表在加载内存前尚未绑定。当该值为-1时,表示该导入表对应的IAT表加载内存前已经绑定。而真正绑定的时间存储在绑定导入表中

绑定导入表

绑定导入表:用于存储已经绑定(即完成绑定导入)的外部函数的信息。一个绑定导入表对应一个dll,通常存在于Windows操作系统自带的程序中,但在win10以后操作系统中,其自带的程序已经很少有绑定导入表了,逐渐被弃用

定位

通过数据目录的第12个结构我们便可以定位到绑定导入表地址:

201545

当有绑定导入表时,其起始地址是在节表后面,因此在新增节的时候,节表后面的数据不建议更改

结构

绑定导入表的结构如下:

struct _IMAGE_BOUND_IMPORT_DESCRIPTOR{						DWORD TimeDateStamp; 			WORD OffsetModuleName;	WORD NumberOfModuleForwarderRefs;  		
};  

DWORD TimeDateStamp:时间戳,表示IAT表绑定的真正时间

操作系统通过程序使用到的DLL对应的绑定导入表结构中TimeDateStamp和该DLL的可选PE头中的TimeDateStamp进行对比判断dll在绑定IAT表以后是否发生修改:

如果两个时间戳一样:DLL的创建时间和把DLL中的函数绝对地址绑定到IAT表的时间是一样,表明在绑定IAT表以后,DLL没有更新或者修改。

如果两个时间戳不一样:DLL在创建以后被更新或者修改了,此时绑定到IAT表中的函数地址可能出现错误。这是由于DLL中的函数地址可能变了,但绑定到IAT中的数据可能是以前的函数地址

WORD OffsetModuleName:该值加上所有绑定导入表中的第一个绑定导入表的RVA表示该绑定导入表对应的DLL的名称的RVA

WORD NumberOfModuleForwarderRefs:一个dll可能依赖于其他的dll,该值表示该dll依赖的其他的dll的数量。有多少dll,绑定导入表后就紧跟着多少_IMAGE_BOUND_FORWARDER_REF结构

_IMAGE_BOUND_FORWARDER_REF结构如下:

struct _IMAGE_BOUND_FORWARDER_REF {			DWORD TimeDateStamp;  //时间戳		WORD OffsetModuleName;  //对应DLL的名字WORD Reserved;  //保留(未使用)	
};

 TimeDataStamp:和绑定导入表结构中的TimeDateStamp含义和用途是一样的

OffsetModuleName:和绑定导入表结构中的OffsetModuleName含义和用途是一样的

Reserved:保留字段(未使用),没有任何含义

绑定导入表的文件分布如下:

当有sizeof(_IMAGE_BOUND_IMPORT_DESCRIPTOR)个0,表示绑定导入表结束    

http://www.dtcms.com/a/457729.html

相关文章:

  • 电阻的分类与应用
  • 网站自建系统股票网站开发
  • 网站优化推广 siteasp.net 大型网站开发
  • C++游戏编程入门(第三版)——Timber!!! 项目(章节 1–5)
  • [Linux系统编程——Lesson4.进程状态]
  • PostIn入门到实战(8) - 如何对接口进行全方位自动化测试,有效确保接口质量
  • 平顶山网站网站建设有赞小程序定制开发
  • 冲床电脑控制器说明书
  • 企业网站优化推广怎么做宁波信息港
  • SortedList
  • 【LeetCode热题100(37/100)】二叉树的最大深度
  • 茂名公司制作网站如何制作网站和软件
  • 网站的种类诺邯郸网站建设
  • 河北建设广州分公司网站黄浦网站设计
  • uniapp 设置主备请求地址切换
  • 深入洞察:华为数字化转型之战略规划
  • 集团网站 wordpress长春朝阳学校网站建设
  • 如何创立网站 优帮云wordpress用户注册插件下载
  • 【2026计算机毕设选题参考】Springboot项目 赋能AI
  • Windows下安装Miniforge3的指南(避坑anaconda收费)
  • Qt C++ :QLayout 布局管理
  • 网站下载app连接怎么做长沙房产
  • 内容网站设计范例百度直播推广
  • 基于AIGC的图表狐深度评测:自然语言生成专业级统计图表的技术实现
  • 怎样做京东网站iis做网站上传速度慢
  • 软考系规:基础篇核心知识整理及助记词分享
  • 5分钟上手 MongoDB:从零安装到第一条数据插入(Windows / macOS / Linux 全平台图解)
  • AI人工智能智域天演电子沙盘数字沙盘系统
  • 各大网站怎么把世界杯做头条泰安网络公司行情
  • 东莞市非凡网站建设网站建设员招聘