PE结构学习笔记--关于AddressOfEntryPoint位置在文件中怎么确定问题

PE头之IMAGE_OPTIONAL_HEADER解析 目录预备知识一、相关实验二、C32Asm三、LordPE实验目的实验环境实验步骤一实验步骤二1.基地址与入口地址的查看2.子系统查看3.SizeOfImage验证实验步骤三 预备知识 一、相关实验 本实验要求您已经认真学习和完成了《IMAGE_DOS_HEADER解析》、《PE头之IMAGE_FILE_HEADER解析》。 二、C32Asm C32Asm是一款国产的16进制编辑器,可以十分方便的对二进制文件进行各种编辑操作,同时支持反汇编操作。 本系列实验主要使用C32Asm作为编辑器,同类的编辑工具还有W 阅读详情

第一次学习PE结构,也不知道有没有更好的办法。

1、AddressOfEntryPoint

这个成员在OptionalHeader里面,OptionalHeader的类型是一个IMAGE_OPTIONAL_HEADER32结构。该结构总共有31个成员,占的大小为224字节。成员7就是AddressOfEntryPoint。AddressOfEntryPoint占4个字节。它表示的是代码入口的RVA地址。也就是说,把一个文件加载到内存的时候,基地址加上AddressOfEntryPoint就是我们的入口代码地址。基地址在成员10有定义。

2、如何确定AddressOfEntryPoint在文件中的位置地址

AddressOfEntryPoint指示的是文件加载如内存之后的地址,那么在文件中,这个内存指代的地址是什么呢?

在PE结构之后是节表,之后是节数据。我们在节表里面可以得到一些有用的信息。因为AddressOfEntryPoint一般指示的地址都是几个节中的某一个。我们可以用16进制打开PE文件,然后查看各节的头部内容。

每一个节(段)是IMAGE_SECTION_HEADER结构。共10个成员。对于本问题比较有用的就是第三个成员,VirtualAddress,4个字节。它表示的是该段映射到内存的起始地址。成员4是SizeOfRawData,4个字节。表示该段在内存占的大小。成员5,PointerToRawData,4个字节。表示该段在文件中的起始地址。注意,这儿提到了文件中。

确定AddressOfEntryPoint在文件中的地址就可以这样来计算了。首先我们要确定AddressOfEntryPoint在内存中是属于哪个段。这个很好确定。就看AddressOfEntryPoint的地址位于哪个段中就行了。比如AddressOfEntryPoint位于段A中。其次,就用AddressOfEntryPoint的地址减去A的VirtualAddress,得到AddressOfEntryPoint相对于段A的偏移B。最后,我们用段A的PointerToRawData加上偏移B就得到了AddressOfEntryPoint在文件中的位置。


关于这个位置,我们也可以用OD打开一个PE文件,它会自动跳转到AddressOfEntryPoint,它的“HEX 数据”栏会显示AddressOfEntryPoint在文件中的位置。

学习了2天,且当做一个笔记。如果有更好的方法,希望有人可以告知。

【Windows】从零开始写一个加密壳 从零开始写一个加密壳认识PE文件结构DOS头NT头EPImageBase重定位表Section TablePE结构总览加壳思路新增Section更改EP加密.text段保存ImageBaseShellCode获取编译好的shellcode编写shellcode获取所需函数手动修复重定位集成shellcode输入与输出成品检验ExeInfoPEIDA 7.5直接运行x32dbg总结及源代码ShellShellcodeGenerator (本文仅为个人学习记录,不保证文章中没有学术性错误或笔误) 认识PE文件结 阅读详情

相关推荐

小甲鱼解密系列调试篇——OD使用教程笔记(持续更新中)

一、修改内容 二、

7882

Windows C++ 程序的入口点

第一个问题,什么是入口点? 对于开发者来说,程序的入口点就是程序执行的时候第一个执行的函数。 对于C++程序,常见的入口点有: 1.main 2.WinMain 3.DllMain 对于操作系统来说,程序的入口点就是把程序装载到内存后,第一条命令开始的地方。 操作系统(Windows)如何确定入口点呢? 首先,Windows下所有可执行程序都是PE格式,PE其中一个组成部分 可选头,...

iBliBiliBelieve的博客 1万+

PE文件自学笔记(一):DOS头与PE头解析

Windows下所谓PE文件即Portable Executable,意为可移植的可执行的文件。常见的.EXE、.DLL、.OCX、.SYS、.COM都是PE文件。PE文件有一个共同特点:前两个字节为4D 5A(MZ)。如果一个文件前两个字节不是4D 5A则其肯定不是可执行文件。比如用16进制文本编辑器打开一个“.xls”文件其前两个字节为:0XD0 0XCF;打开一个“.pdf”其前两个字节为:...

qq_37835724的博客 1090

WINDOWS+PE权威指南读书笔记(21)

目录 在 PE 空闲空间中插人程序 什么是 PE 空闲空间: PE 文件中的可用空间: 获取 PE 文件可用空间的代码: 获取 PE 文件可用空间的测试: 添加注册表局动项的补丁程序实例: 补丁程序的源代码: 补丁程序的字节码: 目标 PE 的字节码: 手工打造目标 PE 的步骤: 基本思路: 对代码段的处理: 对导入表的处理: 修改入口 AddressOfEntryPoint 地址来测试: 对数据段的处理: 修改前后 PE 文件对比: 开发补丁工具: 编程思路:

沐一 · 林 的博客 1125

PE文件头的结构

PE文件是windows下可移植的可执行文件,常见的有exe、dll后缀文件都是PE文件。PE文件头是对整个PE文件数据存储的说明和文件信息的阐述,是一种数据组织方式。32位系统的PE头包括以下结构:DOS MZ头,DOS Stub,PE头,PE头,节表和节内容。 DOS ...

qq_45944873的博客 1384

PE文件格式(逆向工程核心原理第13章)

PE文件格式 介绍 Windows系统下使用的可执行文件格式 Unix : COFF 32位:PE32 ; 64位:PE32+/PE+ PE文件格式 文件种类: 可执行系列:EXE、SCR 库系列:DLL、OCX、CPL、DRV 驱动程序系列:SYS、VXD 对象文件系列:OBJ(不可执行) 基本结构: PE头:DOS头到节区头 PE体:头下节区 文件中使用偏移(offset),内存中使用VA来表示位置 文件内容:代码,数据,资源节.

qq_44514541的博客 3846

OllyDbg笔记-初识PE文件(nag窗口破解)

目录 基本概念 代码与实例 基本概念 这里主要是记录下PE文件结构: PE文件结构,它在硬盘上的存储结构跟载入内存时候的存储结构是一样的。 在PE文件结构里边找出想要的东西,当这个文件映射到内存后,也可以很容易的找到它(因为OD是动态调试,程序需要先载入内存)。 内存中的一个模块代表一个可执行文件进程所需要的所有代码、数据、资源的集合。 PE文件结构: DOS head...

IT1995的博客 5833

WindowsPE文件格式入门01.PE头

​portable excute 可移植,可执行的文件(exe dll)能够解析的文件,其内部都是有格式的,不是随随便便放的,都是按照某种规律放的,可执行文件也是如此,他有自己的格式,exe 和 dll 的格式是一样的微软由dos 到 windows 文件格式发生了改变,所以要出新的文件格式,因此微软要求文件要兼容 dos 系统,其次要兼容其他的所有操作系统IMAGE_FILE_MACHINE_AM33 希望兼容所有的cpu。

彭于晏长沙分晏 979

PE文件详解------PE文件结构剖析

一.PE文件结构纵览 PE文件的结构如上图所示,由低地址到高地址分别为:Dos头,PE头,块表,块,调试信息。其中真正的PE文件头是位于Dos头的后面的部分。 上图为利用PE工具打开的一个可执行文件在磁盘中的映射,这就是PE文件的内部信息。 可以看到这个文件的钱两个字节为”4D 5A”,表示的就是Dos头的第一个字段的额信息,标示Dos的头部。在Dos头结构的最后

bobopeng 5080

软件安全基础之PE文件格式

软件安全基础之PE文件格式 值复习《软件安全》这门课之际,PE文件格式可谓是重中之重,在这里,我便结合教材和PPT,对相关知识进行一个小小的梳理。如有不当之处,希望能被指正! 什么是PE文件格式? PE就是Portable Executable,它是Win32可执行文件的标准格式; PE文件格式与恶意软件的关系 文件感染的定义:使目标PE文件具备“或启动”病毒功能,但不破坏目标PE文件原有功能和外在形态(如图标等); 病毒代码与目标PE文件融为一体的途径:代码植入、控制权获取、图标更改。 注:这里的代码植入

Embiid99的博客 827

Windows PE 第十三章 PE补丁技术

PE补丁技术     这章很多东西之前都见过,也单独总结过,比如动态补丁里说的远程代码注入,还有hijack什么的。之前整理过的这里就不细说了,大体说下思路。这里总结一些之前没总结过的东西。     资料中把补丁分为两类,静态补丁和动态补丁。然后有总结了下补丁的基本要素:进程通讯能力、良好的读写其他进程地址能力、正确识别要补丁目标进程、在其他进程地址空间执行代码的能力。 进程通信: 管道通

天使也掉毛 3510

PE结构 ---> 1. 什么是PE 什么是PE结构 什么是windows可执行程序结构

Windows PE文件结构解析 PE(Portable Executable)是Windows平台可执行文件的标准格式,包括.exe、.dll等文件类型。PE文件由DOS头、PE签名、COFF头、可选头、节表和实际数据区组成,每个部分都有严格定义的结构。关键结构包括:DOS头中的e_lfanew指向PE签名;COFF头定义文件基本属性;可选头包含入口点、基址等关键信息;节表描述各节区属性。PE文件通过这种层次化结构,使Windows加载器能准确识别代码、数据和所需资源的位置,确保程序正确加载执行。相比Li

盾悟 1万+

Reverse-2 - PE文件

111

qq_38205354的博客 827

4.PE文件之扩展PE头(IMAGE_OPTIONAL_HEADER)

可选/扩展PE头IMAGE_OPTIONAL_HEADER,它有着比标准PE头(IMAGE_FILE_HEADER)更多的内容. IMAGE_OPTIONAL_HEADER 结构及成员含义如下: //大小: 32bit(0xE0) 64bit(0xF0) #define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16 typedef struct _IMAGE_OPTIONAL_HEADER { WORD Magic;

kernelhack 6638

文华指标源码—区间彩带

这就是当年东方财富软件终端里主打经典的指标、主要揭示主力成本区域。

qq2054129753的博客 888

超声波雾化驱动设计:专用芯片FM8118替代MCU的工程实践

超声波雾化是一种基于压电陶瓷谐振原理的高频能量转换技术,其核心在于在1.6–2.4MHz频段精准激励雾化片以实现高效水分子破碎。传统采用通用MCU配合分立MOSFET的方案受限于PWM频率上限、栅极驱动能力不足及EMI控制困难,导致雾化效率低、温升高、可靠性差。专用雾化芯片(如FM8118)通过集成2.1MHz振荡器、零电压开关(ZVS)控制与过流/过热双重保护,从架构层面解决高频功率驱动的本质约束,显著提升驱动效率(达83.7%)与系统鲁棒性。该技术广泛适用于桌面加湿器、医疗雾化器、农业微喷等对体积、功耗

weixin_34620658的博客 406

PE文件格式全解读

PE文件包括DOS部分、PE文件头和节表和节数据。从DOS头(DOS header)到节区头(Sectionheader)是PE头部分,其下的节区合称PE体。节数据包括代码(.text)、数据(.data)、资源(.rsrc)节,分别保存。1.DOS部分:IMAGE_DOS_HEADER结构体的大小为40字节,需要注意的2个重要成员:0x0-0x01e_magic: DOS签名,表文件开始标识0x4d5a=”MZ”0x3c-0x3fe_lfanew:PE头部分的偏移0x000000b0.DOS存根位于DOS

凌阳的博客 5574

骨架动作识别新突破:CTR-GCN的通道拓扑优化策略解析

本文深入解析了CTR-GCN在骨架动作识别中的通道拓扑优化策略。通过引入通道级拓扑细化,CTR-GCN克服了传统GCN共享拓扑结构的局限性,显著提升了动作识别的准确率。文章详细介绍了CTR-GCN的三大核心组件设计,包括特征变换模块、通道拓扑建模和通道聚合技术,并提供了实战调参经验和模型压缩技巧,为计算机视觉领域的研究者和开发者提供了有价值的参考。

weixin_27310417的博客 193

pe文件结构 基础篇

转自看雪学院

weixin_50217210的博客 1160

Win11内核隔离无法打开的解决方案详解

内核隔离问题的解决需遵循"先硬件后软件"的排查原则,90%以上的案例可通过驱动清理或外设断开解决。对于必须禁用该功能的用户,建议定期使用Windows Defender进行全盘扫描,并保持系统更新至最新版本。技术决策需在安全性和兼容性之间取得平衡,本文提供的多维解决方案可帮助用户构建更稳定的Windows 11使用环境。

mmoo_python的博客 4829

【GNSS数据处理】赫尔默特(helmert)方差分量估计解析及代码实现

一、背景 helmert方差分量估计是方差-协方差分量估计的一个特例,在近现代测量平差中,我们处理的数据有明显的变化,数据序列中包括粗差,数据类型不再单一等问题。当我们遇到数据类型两类及以上时,可以考虑使用赫尔默特方差分量估计,应用的前提条件是不同类别的数据需要相互独立,这样我们的权阵就是对角阵。 二、引入 我们先用王者荣耀这款游戏引入一下,王者可是撩妹利器,哈哈,就像你有两部手机(安卓和苹果),带妹的时候大概率会用苹果,因为游戏体验方面苹果要优于安卓,带妹的时候不掉帧,不卡顿,不闪退,要操作有操作,有皮肤

ANKP的博客 1万+

PE文件格式笔记

 PE文件格式   结构名(winnt.h中定义) 说明 IMAGE_DOS_HEADER

欢迎来到牛棚 1898

华为OD面试八股真题 - 操作系统 - 1

华为OD技术面,操作系统相关八股真题提供详细解答,这篇博客主要涉及于进程和线程相关知识点

qq_45776114的博客 1641

PE结构--->4.文件头与可选头 详解

PE文件结构解析摘要:标准文件头(IMAGE_FILE_HEADER)和可选头(IMAGE_OPTIONAL_HEADER)是PE文件的核心结构。文件头包含机器类型、节数量、时间戳等基本信息,其中SizeOfOptionalHeader字段用于定位节表起始位置。可选头则包含加载关键信息,如入口点RVA、镜像基址、内存/文件对齐值等,其DataDirectory数组存储导出表、导入表等重要目录位置。通过分析这两个头结构,可以确定文件是32位还是64位、EXE还是DLL,并获取加载所需的所有核心参数,为后续的P

盾悟 3788

Cesium 实战 04 - 标绘功能系列之画点(draw point)

Cesium 实战 - 标绘功能之画点(draw point)。

非科班Java出身GISer的博客 1084

历年安徽省省赛AHOI初中组考点分类汇总考点分类汇总

持续更新中.....

weixin_42358969的博客 818
上一篇: 免杀技术学习
下一篇: 关于CreateFile创建句柄,出现系统找不到指定文件的问题
cogbee
博客等级 码龄17年 62粉丝 82原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值