VA&RVA 和 RVA to RAW】的更多相关文章

VA&RVA VA指的是进程虚拟内存的绝对地址,RVA(Relative Virtual Address,相对虚拟地址)指从某个基准位置(ImageBase)开始的相对地址.VA与RVA满足下面的换算关系. RVA + ImageBase = VA PE(Portable Executable)头部信息大多以RVA形式存在.原因在于,PE文件(主要是DLL(DLL,Dynamic Linked Library))加载到进程虚拟内存的特定位置时,该位置可能已经加载了其它PE文件(DLL).此时必须…
0 前言 此篇文章想写如何通过工具手查导出表.PE文件代码编程过程中的原理.文笔不是很好,内容也是查阅了很多的资料后整合出来的.希望借此加深对PE文件格式的理解,也希望可以对看雪论坛有所贡献.因为了解PE文件格式知识点对于逆向破解还是病毒分析都是很重要的,且基于对PE文件格式的深入理解还可以延伸出更多非常有意思的攻防思维. 1 导出表查询工具 1 ) dumpbin VS自带的工具,有很多的功能.但用来查询程序的导出表也非常方便,使用例子如下: dumpbin.exe /EXPORTS D:\P…
PE结构中的地址互转,这次再来系统的复习一下关于PE结构中各种地址的转换方式,最终通过编程来实现自动解析计算,最后将这个功能集成到我的迷你解析器中,本章中使用的工具是上次讲解PE结构文章中制作的CMD迷你结构解析器,如果不知道参数的基本使用请看前一篇. PE工具的使用与下载:https://www.cnblogs.com/LyShark/p/12960816.html 将VA地址转换为FOA文件偏移: VA就是虚拟地址,转换为FOA文件偏移,其手工计算过程如下所示. 首先需要得到 ImageBa…
PE格式第三讲扩展,VA,RVA,FA的概念 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) 一丶VA概念 VA (virtual Address) 虚拟地址的意思 ,比如随便打开一个PE,找下它的虚拟地址 这边都是. 二丶模块地址(image Base) 模块地址,就是exe加载到内存的时候,所在的地址, 比如MZ位置,在那个位置,那么对应模块地址就是这个位置 在OD中的内存中查看就是PE头 三丶RVA(relat…
一丶VA概念 VA (virtual Address) 虚拟地址的意思 ,比如随便打开一个PE,找下它的虚拟地址 这边都是. 二丶模块地址(image Base) 模块地址,就是exe加载到内存的时候,所在的地址, 比如MZ位置,在那个位置,那么对应模块地址就是这个位置 在OD中的内存中查看就是PE头 三丶RVA(relative Virtual Address) 相对虚拟地址偏移 假设我们找一个虚拟地址 VA = 0X4001200   (虚拟地址) 那么算出他的相对偏移 那么我们就要看他属于…
PE文件格式 一.基本结构 1.DOS头一般到节区头成为PE头部分,其下称为PE体.文件的内容一般可分为代码(.text).数据(.data).资源(.rsrc),分别保存. 2.PE头与各节区的尾部存在一个区域,称为NULL填充,为了提高效率,计算机使用"最小基本单位"这一概念,文件/内存中节区的起始位置应该在各文件/内存最小单位的整数倍上. 3.RVA+ImageBase=VA 4.当DLL加载到进程虚拟内存指定位置时,可能该位置已经被占用,则需要使用重定位方式加载到其他空白的地方…
PE文件是Win32的原生文件格式.每一个Win32可执行文件都遵循PE文件格式.对PE文件格式的了解可以加深你对Win32系统的深入理解. 一. 基本结构. 上图便是PE文件的基本结构.(注意:DOS MZ Header和部分PE header的大小是不变的:DOS stub部分的大小是可变的.) 一个PE文件至少需要两个Section,一个是存放代码,一个存放数据.NT上的PE文件基本上有9个预定义的Section.分别是:.text, .bss, .rdata, .data, .rsrc,…
最近在自学解析PE文件,根据小辣椒(CFF Explorer)以及各论坛上大佬的帖子,做了个黑屏打印PE文件的,历时7天完成,在此想跟有相关需要的同学们分享下思路,有不足之处也希望大家不吝赐教,指点出来.谢谢. PE文件主要有DOS头,NT头(包含PE头,可选PE头,可选PE头中又包含着一个数据目录,里面包含了其他表单的RVA和大小),节表 表单主要有导出表,导入表,重定位表,资源表.除了资源表外,其他表单的各项数据都用代码实现了打印. 首先通过CreateFile打开文件,获得文件句柄,随后调…
0x0.序 解析过程并没有介绍对pe结构的相关解析过程,网上此类相关资料很多可自行查阅,本文只介绍了网上资料较少的从pe结构的可选头中的数据目录表中获取dotnet目录的rva和size,到完全解析dotnet文件格式特有数据结构的部分. 了解dotnet文件格式你可能需要一款名为CFF Explorer的工具:你也可能在很多时候需要查阅书籍<Expert .NET 2.0 IL Assembler>,该书籍的中文版本名为<.NET探秘MSIL权威指南>.简要的文件格式图,可以参考…
早上起来看到这个代码  整理一下 // PETableDlg.cpp : 实现文件 // #include "stdafx.h" #include "PECheck.h" #include "PETableDlg.h" #include "afxdialogex.h" // CPETableDlg 对话框 #define MakePtr(a,b,c) ((a)((char*)b+c)) extern ULONG g_Selec…