
PE文件结构
文章平均质量分 54
qwertyuiop_i
没有
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
pe文件结构(TLS)
TLS(线程局部存储)技术解析 TLS(Thread Local Storage)是解决多线程变量同步问题的机制,允许线程内部函数访问专有变量而不影响其他线程。主要用途包括: TLS变量:通过__declspec(thread)创建线程局部变量,每个线程拥有独立副本。 TLS回调函数:在PE文件中注册回调函数,在进程/线程创建/销毁时自动触发,可用于安全防护。其特点包括: 执行早于程序入口点(OEP) 可实现反调试等功能 通过.CRT$XLX段注册回调数组 PE结构支持:通过IMAGE_TLS_DIRECT原创 2025-06-06 11:54:03 · 674 阅读 · 0 评论 -
pe文件二进制解析(用c/c++解析一个二进制pe文件)
本文介绍了如何使用C++解析PE文件的二进制结构,并提供了控制台版本的实现代码。文章首先解释了RVA(相对虚拟地址)与FOA(文件偏移地址)的转换方法,接着定义了几个关键的结构体来存储PE文件的不同部分信息,如节表、基本数据和表地址等。代码通过读取PE文件,解析其DOS头、NT头、标准PE头和扩展PE头,并获取节表、导出表、导入表和重定位表的信息。文章还展示了如何通过函数获取和打印这些信息,帮助开发者理解PE文件的结构和内容。原创 2025-05-13 14:46:04 · 461 阅读 · 0 评论 -
PE文件结构(重定位表)
重定位表是PE文件格式中的关键数据结构,用于记录可执行文件或DLL中需要重定位的地址信息。其主要作用包括支持地址空间随机化(ASLR)、DLL共享以及可执行文件加载的灵活性。重定位表位于PE文件数据目录项的第6个结构,通常通过RVA(相对虚拟地址)定位。其结构体包含虚拟地址和块大小信息。重定位类型多样,常见的有32位和64位平台的标准重定位类型(IMAGE_REL_BASED_HIGHLOW和IMAGE_REL_BASED_DIR64),以及特定平台如ARM、RISC-V和LoongArch的专用类型。某些原创 2025-05-13 14:31:34 · 569 阅读 · 0 评论 -
PE文件结构(导入表)
什么是导入表?导入表就是pe文件需要依赖哪些模块以及依赖这些模块中的哪些函数回想我们导出表的内容,导出表的位置和大小是保存在扩展pe头最后一个结构体数组当中的第一个成员是我们的导出表,第二成员就是我们的导入表了通过分析pe文件,得出导入表的位置在0x20400(RVA)我们来看一下导入表的结构。原创 2025-05-07 18:56:42 · 365 阅读 · 0 评论 -
PE文件结构(导出表)
什么是导出表?导出表是PE文件中记录动态链接库(DLL)对外提供的函数或数据的列表,包含函数名称、序号和内存地址等信息,供其他程序调用可以使用IDA等工具查询dll,sys,exe的导出函数可以看到在IDA中已经成功的给我们查找出了当前dll的导出函数首先先回忆一下之前pe的内容1.DOS头,DOS块2.NT头,标准pe头,扩展pe头在扩展pe头的最后一个属性中,就存放着对应的16张表 ( IMAGE_DATA_DIRECTORY )第一个结构体数组就存放的是导出表的位置和大小。原创 2025-05-05 17:52:01 · 835 阅读 · 0 评论 -
向PE文件写入自己想要执行的代码
向PE文件写入自代码向一个PE文件中写入MessageBox()方法查看MessageBox()的硬编码构造需要写入的代码6A 00 6A 00 6A 00 6A 00 E8 E4 E9 95 65 E9 57 36 00 00 在PE文件 F90 处写入我们想要执行的硬编码(写在PE的空白数据)公式:要跳转的地址 - E8指令当前的地址 - 5...原创 2022-03-02 16:42:25 · 374 阅读 · 0 评论 -
扩展PE头
PE扩展结构体原创 2021-12-16 22:58:39 · 419 阅读 · 0 评论 -
RVA与FOA的转换
RVA与FOA的转换原创 2021-12-17 23:20:29 · 1901 阅读 · 2 评论 -
PE节表属性
PE节表属性原创 2021-12-17 21:53:31 · 702 阅读 · 0 评论 -
标准PE头属性
标准PE头属性原创 2021-12-12 23:01:23 · 324 阅读 · 0 评论 -
PE结构体
PE结构原创 2021-12-11 22:31:53 · 475 阅读 · 0 评论