首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PE数据目录表解析

文件偏移地址从PE文件的第一个字节开始计数,起始值为0。 数据目录表结构 数据目录表是PE中比较重要的一个部分,其也是一个结构。...;//尺寸, 起始地址+尺寸 = 结束的位置 } IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY; 结构如下: 用loadPE打开一个PE文件,点击目录,即可看到数据目录表...如图,当文件被映射到内存中时,MS-DOSPE和块表的偏移位置都没有改变,但是当区块被映射到内存中后,其偏移地址就发生了改变。...PIMAGE_DOS_HEADER pDOS = (PIMAGE_DOS_HEADER)buffer; //PE PIMAGE_NT_HEADERS pNT = (PIMAGE_NT_HEADERS...IMAGE_THUNK_DATA结构: 那么要解析导入表,首先要定位到导入表: 通过PE扩展头里数据目录字段 + 导入表的宏定义,即可定位到导入表, PIMAGE_DATA_DIRECTORY pImportDir

1.7K20

PE结构-DOS

PE结构-DOS,本部分为参照吾爱破解论坛lyl610abc师傅PE文件笔记所整理的学习笔记。...DOS部首 DOS部首结构 其结构分为两部分: DOS ‘MZ’ HEADER 其在c中定义的结构体为_IMAGE_DOS_HEADER DOS sub DOS MZ DOS MZ在C语言中所定义的结构体为...File address of new exe header } IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER; 分析_IMAGE_DOS_HEADER成员 DOS的存在...是为了往下兼容在低版本DOS系统上运行,所以该部分主要用于DOS系统 目前在32/64位Windows操作系统中还有效的成员只有两个 第一个成员:e_magic (WORD 2字节) 用于识别文件是否为PE...格式文件 值固定为4d 5a (MZ) 最后一个成员: e_lfanew (LONG 4字节) 存储PE首地址 位于0x3c位置 DOS部首中的其他值已经在现阶段Windows系统中弃用,下面通过将对应值置换为

23520
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PE解析器的编写(四)——数据目录表的解析

    PE结构中最重要的就是区块表和数据目录表,上节已经说明了如何解析区块表,下面就是数据目录表,在数据目录表中一般只关心导入表,导出表和资源这几个部分,但是资源实在是太复杂了,而且在一般的病毒木马中也不会存在资源...获取数据目录表的信息 数据目录表的信息主要存储在PE结构中的OptionHeader中,回顾一下它的定义: typedef struct _IMAGE_OPTIONAL_HEADER { //...,而NumberOfRvaAndSizes表示数据目录表中元素的个数,一般都是8,而IMAGE_DATA_DIRECTORY 结构的定义如下: typedef struct _IMAGE_DATA_DIRECTORY...1项,所以我们只需要区数据目录表数组中的第一个元素,从中就可以得到它的RVA,然后调用RVA到文件偏移的转化函数就可以在文件中找到它的位置,在代码中也是这样做的 PIMAGE_IMPORT_DESCRIPTOR...导出表在数据目录表的第0个元素。

    1.6K20

    歌MySQL数据库实训答案 有目录

    歌MySQL数据库答案 特别感谢黄副班、小青提供代码,有问题联系公众号【学思则安】留言更正 其他作业链接 数据库1-MySQL数据定义与操作实战 MySQL数据库 – 初识MySQL MySQL...数据库 – 数据库和表的基本操作(一) MySQL数据库 – 数据库和表的基本操作(二) MySQL数据库 – 单表查询(一) MySQL数据库 – 单表查询(二) MySQL数据库 – 单表查询(三)...MySQL数据库 – 连接查询 MySQL数据库 – 子查询 MySQL数据库 – 复杂查询(一) MySQL数据库 – 复杂查询(二) MySQL数据库 – 使用聚合函数查询 MySQL数据库 –...3-MySQL数据库系统设计实战 MySQL开发技巧 – 查询、索引和完整性 数据库查询 – 选课系统 数据库设计 – 博客系统 数据库开发基础案例 – JDBC 技术应用 数据库开发中级案例 –...、小青提供代码,有问题联系公众号【学思则安】留言更正 其他作业链接 歌java实训答案集 数据库1-MySQL数据定义与操作实战 MySQL数据库 – 初识MySQL 数据库部分一条一条的写,可鼠标手动粘贴

    8K10

    PE格式第四讲,数据目录表之导入表,以及IAT表

    PE格式第四讲,数据目录表之导入表,以及IAT表 一丶IAT(地址表) 首先我们思考一个问题,程序加载的时候会调用API,比如我们以前写的标准PE 那么他到底是怎么去调用的?...看下PE格式,文件中.radata的字段....三丶定位导入表  在数据目录中,记录的是导入表的RVA偏移 那么我们通过公式计算一下在文件中的偏移 这里使用标准PE数据目录中找到偏移为  2010  RVA = 2010 位置 现在找模块地址 模块地址在...选项(或者叫做扩展)的成员ImageBase中存储着 ,现在是00401000 那么现在要找节表 节表中记录了虚拟地址的RVA  也就是虚拟地址和模块首地址的RVA,我们则可以快速定位是哪个节表了

    1.4K50

    【Android 逆向】应用数据目录 ( files 数据目录 | lib 应用自带 so 动态库目录 | databases sqlite3 数据目录 | cache 缓存目录 )

    文章目录 一、应用数据目录 /data/data/package.name/files 二、自带 so 动态库 /data/data/package.name/lib 三、数据库文件 /data/data.../package.name/databases 四、缓存文件 /data/data/package.name/cache 一、应用数据目录 /data/data/package.name/files -...--- /data/data/package.name/files 目录是应用的数据目录 , 一般存放应用运行相关文件 , 如更新文件 , 存档文件 , 资源文件等 ; drwxrwx--x 20 u0.../data/data/package.name/databases ---- /data/data/package.name/databases 文件是数据库文件目录 , 该目录下的文件是 sqlite3...数据库文件 ; sqlite3 是 Android 内部自带的轻量级的关系型数据库 ; /data/data/com.qidian.QDReader/databases 目录下的文件如下 :

    93010

    【Android 逆向】应用数据目录 ( Android 应用数据目录 datadatapackage.name | 存放 SharedPreference 的 shared_pref 目录 )

    文章目录 一、Android 应用数据目录 /data/data/package.name/ 二、/data/data/package.name/shared_prefs/ 目录 一、Android 应用数据目录.../data/data/package.name/ ---- 进入应用所在目录 : cd /data/data/com.qidian.QDReader 查看该目录下的文件内容 : walleye:/data...---- shared_prefs 目录是 SharedPreferences 文件的存储目录 , 这是 Android 自带的应用数据存储 , 这是最轻量级的存储 , 存储一个 Key-Value...键值对数据 , 系统会将该数据保存为 xml 文件 ; drwxrwx--x 2 u0_a469 u0_a469 4096 2021-10-26 13:59 shared_prefs 进入该目录..., shared_prefs 目录下的文件如下 : 使用 cat mydata.xml 命令 , 查看其中的一个 xml 文件 , 内容如下 ; <?

    1.1K10

    数据资产目录建设实践

    下面就来谈一谈数据资产框架中重要部分数据资产目录管理,通过数据资产目录的建设,实现对企业数据资产的有效管理。 1....、数据脱敏、数据质量、业务流程、业务实体) 第四步:资产与目录关联 第五步:数据资产标签化(数据资产目录数据标签形成网状数据检索体系) 第六步:平台管理 1....数据标签与数据资产的关系 数据标签与数据资产目录形成对数据资产的网状分类功能,我们可以利用目录及标签来为数据资产进行分类分级,并增加管理属性。...数据资产目录如何管理及应用场景 数据资产目录管理包括目录维护及目录安全权限管理,目录应用场景有数据资产的可视化应用、数据资产目录服务、数据分析应用场景等内容。...- 某金融公司数据资产管理案例 - 第一步:建设路径 第二步:目录构建 第三步:平台落地

    1.7K10

    2.2 PE结构:文件头详细解析

    PE偏移:DOS头中的e_lfanew(这是一个类型为LONG的成员)指示了PE的偏移量,即PE的起始位置距离DOS的偏移量,Windows操作系统根据DOS的这个属性来定位PE的位置。...如上图所示,图中的4D5A则表示这是一个PE文件,其下08010000则代表DOS的最后一个数据集e_lfanew字段,该字段指向了PE的开始50450000用于表示NT的其实位置,而途中的英文单词则是一个历史遗留问题...我们继续跟进_IMAGE_NT_HEADERS结构体里面的第二个结构IMAGE_OPTINAL_HEADER,该结构非常重要要,里面存储着程序的数据目录表,可选紧挨着文件头,文件头的结束位置在0x000000DF...,该表由16个相同的IMAGE_DATA_DIRECTORY结构组成,这16个数据目录结构定义很简单,仅仅指出了某种数据的位置和长度,该结构的定义如下;#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES...,也将变得很容易实现,一般而言通过NtHeader->OptionalHeader.NumberOfRvaAndSizes读者可得到数据目录表的数量,当得到了数据目录表的数量后则可通过循环的方式依次输出

    51130

    2.2 PE结构:文件头详细解析

    PE偏移:DOS头中的e_lfanew(这是一个类型为LONG的成员)指示了PE的偏移量,即PE的起始位置距离DOS的偏移量,Windows操作系统根据DOS的这个属性来定位PE的位置。...如上图所示,图中的4D5A则表示这是一个PE文件,其下08010000则代表DOS的最后一个数据集e_lfanew字段,该字段指向了PE的开始50450000用于表示NT的其实位置,而途中的英文单词则是一个历史遗留问题...我们继续跟进_IMAGE_NT_HEADERS结构体里面的第二个结构IMAGE_OPTINAL_HEADER,该结构非常重要要,里面存储着程序的数据目录表,可选紧挨着文件头,文件头的结束位置在0x000000DF...PE了,首先读者找到DOS,并从该头部找到NT,当读者得到了NT就可以根据NT向下分别解析FileHeader及OptionalHeader中的参数,根据参数定义依次输出即可得到所有的NT头部数据...,也将变得很容易实现,一般而言通过NtHeader->OptionalHeader.NumberOfRvaAndSizes读者可得到数据目录表的数量,当得到了数据目录表的数量后则可通过循环的方式依次输出

    38610

    图书机读目录MARC简介,ISO格式目录数据生成

    一、简介 机读目录(Machine-Readable Catalogue,MARC),是利用计算机读取和处理书目信息,是计算机编目的产品。...2005年7月,在《新版中国机读目录格式使用手册》基础上修订而成的《中国机读目录格式》(China MARC Format)国家标准通过专家评审,现已上报全国信息与文献工作标准化技术委员会和国家标准化管理委员会...二、中国档案机读目录格式 中国档案机读目录格式标准:GB/T 20163-2006 可在国家标准全文公开系统查看:中文标准名称:中国档案机读目录格式 我们查看文件知道这个标准就像计算机协议一样,只要按照这种标准生成的数据...图片 然后我们看CNMARC对数据记录的说明 图片 一条数据就由如上格式组成,头标识24位, 然后记录目次区记录的是数据字段的字段标识号(比如100),然后是数据字段的长度,数据数据字段区的位置最后,...接着就是数据字段区,记录的就是各字段的数据,以及该字段的子字段数据,有两种形式 。

    2.5K70
    领券