PE资源分析

PE总结13 --PE文件结构之 解析资源表 // 资源表2.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include DWORD RVA2Offset(DWORD dwRva, PIMAGE_NT_HEADERS32 pNt) { DWORD dwOffset = 0; PIMAGE_SECTION_HEADER pSection = I 阅读详情
PE资源分析_备忘(假设文件以Image形式影射):

1,得到IMAGE_NT_HEADERS
2,得到第一个Section ==>pSection=IMAGE_FIRST_SECTION(pNtHeader);
3,得到.rsrc ==> pResSection++; where pResSection->Name==".rsrc"
4,得到PIMAGE_RESOURCE_DIRECTORY resDir=pNtHeader->OptionalHeader.DataDirectory[2];
5,资源是一个树形结构,resDir是Root,它说明了其下包含是多少个结点数
  resDir->NumberOfNameEntries说明"命名项"的个数,
  resDir->NumberOfIdEntries说明"标识项"(即由数字ID来标识的)的个数
  resDir->NumberOfNameEntries+resDir->NumberOfIdEntries 表示子结点的总数
  这些子结点包括在resDir->DirectoryEntries[]数组里(该成员在WINNT.h头的定义中被注释了)
  resDir->DirectoryEntries 有类型是 IMAGE_RESOURCE_DIRECTORY_ENTRY
6,得到dirEntry=resDir->DirectoryEntries[0];这是第一个结点,从树的角度来看是第二层(Root为第一层)
  第二层结点的dirEntry2->Id标识了资源的类型(也即,资源是按类型分的).
  以下是在Winuser.h中定义的资源类型(详见Winuser.h)
/*
* Predefined Resource Types
*/
#define RT_CURSOR       MAKEINTRESOURCE(1)
#define RT_BITMAP       MAKEINTRESOURCE(2)
#define RT_ICON         MAKEINTRESOURCE(3)
#define RT_MENU         MAKEINTRESOURCE(4)
#define RT_DIALOG       MAKEINTRESOURCE(5)
#define RT_STRING       MAKEINTRESOURCE(6)
#define RT_FONTDIR       MAKEINTRESOURCE(7)
#define RT_FONT         MAKEINTRESOURCE(8)
#define RT_ACCELERATOR     MAKEINTRESOURCE(9)
#define RT_RCDATA       MAKEINTRESOURCE(10)
#define RT_MESSAGETABLE   MAKEINTRESOURCE(11)
7,通过dirEntry->DataIsDirectory标识该结点是不是目录(通常第二层会是目录,即类型目录)
  如果是目录,通过通过dirEntry->OffsetToDirectory来得到目录(IMAGE_RESOURCE_DIRECTORY)
  PIMAGE_RESOURCE_DIRECTORY resDir2=pBaseAddress+pResSection->VirtualAddress+dirEntry->OffsetToDirectory;
  得到dirEntry2=resDir2->DirectoryEntries[0];通过dirEntry2->Id来标识资源类型
8,通常第三层是实际的数据,
  PIMAGE_RESOURCE_DIRECTORY resDir3=pBaseAddress+pResSection->VirtualAddress+dirEntry2->OffsetToDirectory;
  dirEntry3=resDir3->DirectoryEntries[0];通过dirEntry3->Id来标识资源的ID,
9,得到IMAGE_RESOURCE_DATA_RESOURCE,
  PIMAGE_RESOURCE_DATA_RESOURCE dataRes=pBaseAddress+pResSection->VirtualAddress+dirEntry2->OffsetToData;
10,根据类型来判断如果取数据,如是版本信息可以做如下处理:
  #define RT_VERSION     MAKEINTRESOURCE(16)
  typedef struct _VS_VERSIONINFO {
    WORD wLength;
    WORD wValueLength;
    WORD wType;
/*由于是可变结构
    WCHAR szKey[];
    WORD Padding1[];
    VS_FIXEDFILEINFO Value;
    WORD Padding2[];
    WORD Children[];
*/
  }VS_VERSIONINFO,*PVS_VERSIONINFO;//见MSDN文档
  //defined in Winver.h
  typedef struct _VS_FIXEDFILEINFO {
    DWORD dwSignature;
    DWORD dwStrucVersion;
    DWORD dwFileVersionMS;
    DWORD dwFileVersionLS;
    DWORD dwProductVersionMS;
    DWORD dwProductVersionLS;
    DWORD dwFileFlagsMask;
    DWORD dwFileFlags;
    DWORD dwFileOS;
    DWORD dwFileType;
    DWORD dwFileSubtype;
    DWORD dwFileDateMS;
    DWORD dwFileDateLS;
  }VS_FIXEDFILEINFO,*PVS_FIXEDFILEINFO;
  PVS_VERSIONINFO pVerInfo;
  PVS_FIXEDFILEINFO pFixedInfo;
  CHAR* pPointer;
  ULONG uLen;
  WCHAR wChar[MAX_PATH];//注册不要溢出
  if( RT_VERSION == dirEntry2->Id ) {
    pVerInfo=pBaseAddress+dataRes->OffsetToData;
    pPointer=(CHAR*)pVerInfo;
    uLen=wcslen(L"VS_VERSION_INFO");
    pPointer+=sizeof(VS_VERSIONINFO)+uLen*2+2;//uLen是字符个数据,因为是UNICODE需要*2,再加上结尾UNICODE_NULL
    pFixedInfo=(((ULONG)(pPointer)+0x4-1)&~(0x4-1));//对齐32-bit
    ....
  }
  如果是字符串,需要以下结构(defined in winnt.h)
  IMAGE_RESOURCE_DIRECTORY_STRING和IMAGE_RESOURCE_DIR_STRING_U,计算方法同上;
  PIMAGE_RESOURCE_DIR_STRING_U pResStringU;
  pResStringU=pBaseAddress+dataRes->OffsetToData;
  while(( pBaseAddress+dataRes->OffsetData+dataRes->Size) - (CHAR*)pResStringU != 0 ) {
    memcpy(wChar,pResStringU->NameString,pResStringU->Length*2);
    wChar[pResStringU->Length]=0;
    pResStringU=(CHAR*)pResStringU+pResStringU->Length*2;
  }

 
Windows PE文件资源提取与结构分析便携工具包(含PE Explorer和Resource Hacker) 直接双击运行的Windows PE文件分析组合工具,专注EXE/DLL等可执行文件的资源提取、修改与底层结构查看。PE Explorer部分提供完整的PE头解析能力,能读取节表、导入导出表、重定位表、调试信息及嵌入式资源;配套pexdata.rdat索引数据和pexplorer.chm帮助文档,便于快速定位关键结构字段。Resource Hacker独立模块支持可视化编辑图标、位图、字符串表、对话框、菜单、版本信息等资源内容,兼容.def定义文件导入导出,支持.ini配置保存和.hlp/.cnt帮助系统集成 阅读详情

相关推荐

PE Explorer v1.98 R2++ 绿色汉化版:全面的程序资源编辑工具

PE Explorer是一款功能强大的Windows PE文件查看和编辑工具,广泛应用于软件开发、安全分析和逆向工程领域。它允许用户对可执行文件(如.exe和.dll)进行深入的剖析和编辑。本章将简要介绍PE Explorer的界面布局、基础操作以及它在不同行业中的应用。通过对本章节内容的学习,您将能够熟悉PE Explorer的基本功能,并能够根据个人需求进行相应操作。PE Explorer的绿色汉化版不仅提供了标准PE文件的查看和编辑功能,还额外增加了一些实用的特色功能。

weixin_34413326的博客 685

pe文件解析:读取pe信息获取文件资源

查看过关于pe文件分析的文章: (1)http://www.vckbase.com/document/viewdoc/?id=1334 (2)http://www.vckbase.com/document/viewdoc/?id=1335 (3)http://www.cppblog.com/aurain/archive/2009/06/29/88771.html (4)http

天道酬勤 1万+

全面探索PE文件:bsexplorer的资源管理之道

PE(Portable Executable)文件格式是Windows操作系统中可执行文件、对象代码库、DLL(动态链接库)等模块的标准文件格式。了解PE文件格式对于分析和处理Windows环境下的程序是非常重要的。本章节将从PE文件的基础知识讲起,逐步深入到PE文件内部结构,让读者对PE文件有一个由浅入深的认识。在探索bsexplorer的资源查看功能之前,首先需要熟悉它的用户界面布局。bsexplorer的界面设计直观,旨在为用户提供便捷的操作体验。界面主要由以下几部分构成:菜单栏。

weixin_35592186的博客 1667

PE文件结构的介绍并使用C++读取PE文件信息

PE文件结构分为五个部分:DOS文件头DOS加载模块PE文件头区段表区段 windows环境中会直接跳过前两个部分直接从PE文件头开始,所以直接略过这两个部分。PE文件头大小为224字节左右,因为有个可选头所以实际长度不定。里面包含许多关于PE文件的整体信息,这些信息主要是描述PE文件的大概情况,但是更细节信息在区段表中。如上图所示,PE文件头分为三个结构,第一个为签名字段,第二个为文件头字段,第三个为可选头字段。signature字段 在一个PE文件中Signature字段被设置为4550h,ASCII码

陈子青的博客 2232

exeinfope:功能强大的PE文件分析工具全面解析

exeinfope 是一款专为Windows可执行文件设计的轻量级分析工具,支持PE、NE、LE、MZ等多种二进制格式。其无需安装、即开即用的特性使其广泛应用于逆向工程和安全检测领域。工具通过图形化界面直观展示文件结构信息,涵盖编译器识别、加壳检测、导入表解析等关键功能。攻击者常常通过修改节区名称来隐藏真实意图。例如:- 将.text改为abc或xyz- 使用全大写、全小写或特殊字符(如.123._.- 利用Unicode编码绕过简单字符串匹配。

weixin_42509507的博客 1663

SAM3模型国内快速上手:Modelscope权重下载+环境配置一条龙指南

本文详细介绍了SAM3模型在国内的快速部署方案,包括通过Modelscope平台下载权重文件、优化CUDA 11.8环境配置以及实战避坑技巧。针对国内开发者常见的网络问题和环境兼容性问题,提供了从权重下载到模型加载的全流程指南,帮助用户高效完成部署并快速上手SAM3模型。

weixin_28465009的博客 1156

PE文件解析-资源中的版本信息结构

一、概述     想要获取一个可执行文件(PE文件)里包含的资源文件,首先要解析可执行文件,得到资源存储的地址及大小,可参考 https://blog.youkuaiyun.com/zhyulo/article/details/85717711 。然后,根据资源存储方式,得到各资源的数据内容及其大小,可参考 https://blog.youkuaiyun.com/zhyulo/article/details/85930...

zhyulo的博客 2796

【数据结构】平行四边形数量

平行四边形个数,哈希表,散列

cyy010617的博客 4010

读取PE文件的资源表

    在上一篇文章里,已经讲解了加载PE文件的导入表。本篇简要介绍PE文件的资源表的结构和定位方式。 所谓资源表(resource table),就是通常在IDE的资源视图中所看到的那个Tree视图,因此资源表在PE文件中同样是这样的一种类似资源管理器一样的树状逻辑结构。     对树,我们不能想类似导入表那样当作线性表中的数组去比较简单直观的加载,而是要用递归函数去重建,这是因为树的定义就...

weixin_33910460的博客 515

csp-j/s

CSP-J/S 是中国计算机学会(CCF)主办的 ‌‌(Certified Software Professional Junior/Senior),是信息学奥赛(NOI)体系的入门级选拔考试,也是国内最具权威性的青少年编程能力认证之一。

gxyxxrYYDS的博客 2033

PointNetLK实战:5步搞定点云配准(附ModelNet40数据集训练技巧)

本文提供了一份详细的PointNetLK实战指南,帮助读者在5步内掌握点云配准技术。文章以ModelNet40数据集为例,深入讲解了环境搭建、数据预处理、模型训练与调试等核心步骤,并分享了关键的训练技巧和调参策略,旨在让开发者快速实现并应用这一高效的深度学习配准方法。

wind6的博客 462

【系统】Windows窗口数据管理和PE菜单资源分析

一、窗口分析          CreateWindow创建一个窗口对象时,Windows为创建的窗口对象分配私有数据存储区,其中存储有窗口的实例句柄、父窗口句柄、窗口函数的地址和其它Windows用于管理窗口对象的数据。         获取这些私有数据用GetWindowWord/GetWindowLong等函数。还有RegisterWindowClass()。 二、菜单分析

此博客不更新很多年了,博客作废............ 1001

sentaurus学习笔记(HFET_pGate_GaN仿真)(五)

`(sdedr:define-constant-profile`和`(sdedr:define-constant-profile-region`命令用于定义并应用一个恒定的活性硼掺杂浓度剖面`"ndop_GaN_gate_const"`到氮化镓栅极层上,其值为`NpGaN_gate`。- `"Oxide"`指定了这一层的材料名称(在这里代表氧化层),而`"nucleation"`是这一层在仿真中的标识名称。- `"GaN"`指定了这一层的材料名称,而`"GaN_gate"`是这一层在仿真中的标识名称。

qq_52640792的博客 941

PE文件分析-资源表

时间:202106 资源表 DESC: 记录PE文件中的资源信息。 RVA: IMAGE_DATA_DIRECTORY[2].VirtualAddress。 资源包括 Cursor, Bitmap, Icon, Menu, Dialog, String, Accelerator 等预定义的资源类型和自定义的资源类型, 不同资源类型用 ID 区分。 预定义资源类型ID 描述 1 Cursor 2 Bitmap Resource 3 Icon 4 Menu Resource

m0_48995611的博客 546

YOLOv10有效涨点专栏目录 | 包含卷积、主干、检测头、注意力机制、Neck、二次创新、独家创新等上百种创新机制

Hello,各位读者们好本专栏自开设以来已经更新改进教程100余篇其中包含二次创新、独家创新多种改进方法,包含C2f、主干、检测头、注意力机制、Neck多种结构,也有损失函数和一些细节点上的创新。同时本人一些讲解视频和包含我所有创新的YOLOv10文档并不能在优快云上传,通过建立交流群的形式在内上传我完整的文件和视频我也会在群内不定期和大家交流回答大家问题。专栏介绍。

Snu77的博客 1万+

buildozer

/home/chenyang/new_kivy/.buildozer/android/platform/build/build/other_builds/hostpython3/desktop/hostpython3/Lib

东方佑 16万+

StudyPE资源文件介绍:强大的PE文件分析工具

StudyPE资源文件介绍:强大的PE文件分析工具 【下载地址】StudyPE资源文件介绍 StudyPE 是一款功能强大的 PE 文件分析工具,支持多种 PE 格式,包括 PE32、PE64 和 .net PE。它提供全面的 PE 文件分析功能,深入解析文件结构,并具备强大的编辑能力,支持 RVA 和 FOA 转换、反...

gitblog_06736的博客 564

AI穿透式智慧粮仓

本报告基于 2025-2026 年全国多地智慧粮储实践案例,系统分析了 "AI + 穿透式" 智慧粮储体系的技术架构、AI 算法应用、提质增效成效、区域差异化特点及未来发展趋势。该体系通过多模态感知、智能算法与管控平台的深度融合,实现粮食存储全流程精准感知、智能预警与科学调控,显著降低储粮损耗与运营成本,大幅提升储粮安全水平与管理效率。报告梳理了各地差异化实践路径,提出针对性发展建议,为推动我国粮食仓储高质量发展、筑牢国家粮食安全防线提供参考。

reset2021的博客 231

分析pe文件资源(学习)

PE文件,全称Portable       Executable文件,是Windows系统可执行文件采用的普遍格式,像我们平时接触的EXE、DLL、OCX,甚至SYS文件都属于PE文件的范畴。为了在可执行文件中方便的引用其它类型资源内容,PE文件有一个独立的资源段,将程序执行所需要的全部资源文件链接到PE文件内部方便使用。今天我们就来研究一下PE文件资源段的内容与格式。 在研究PE文件资源

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 1322

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

基于ADS122U04与PIC18F47K42的高精度RTD温度测量方案

在工业与HVAC系统中,高精度温度测量常受微弱信号和干扰挑战。RTD传感器输出毫伏级信号,需高分辨率ADC和抗干扰设计。ΔΣ ADC内置PGA和激励电流源,有效提升信噪比;配合8位MCU实现线性化与通信,兼顾成本与精度。该方案适用于温度变送器、温控器等场景,实现0.01°C分辨率。本文基于ADS122U04IPWR和PIC18F47K42,详解硬件设计、固件实现与标定方法,提供完整高精度测量方案。

weixin_34184561的博客 375

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

恶意代码分析实战-PE资源提取

场景 1、提取恶意代码中的资源部分内容 思路 存在Loadresource函数的时候说明有一部分内容在资源里。 技术点 Lab1-4 ResourceHacker打开保存资源,载入IDA查看 ...

17bdw的编程备份笔记 37

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

PE-bear:免费PE文件分析神器,让Windows逆向工程变得简单快速

你是否曾经面对一个Windows可执行文件感到无从下手?想要了解它的内部结构、识别加壳保护、分析导入导出函数,却需要同时打开多个专业工具,在复杂的命令行和晦涩的十六进制数据中挣扎?想象一下,有一款工具能将所有功能整合在一个直观的界面中,让你快速掌握PE文件的核心秘密——这就是PE-bear,一款专为安全研究人员、恶意软件分析师和逆向工程师设计的跨平台PE文件逆向分析工具。 ## 🐻 告别复杂:

gitblog_00403的博客 339

PE-bear:终极免费PE文件逆向分析工具,让Windows可执行文件分析变得简单快速

你是否曾经面对一个神秘的Windows可执行文件,想知道它隐藏着什么秘密?传统方法需要打开多个工具、查看复杂的十六进制数据,让人望而却步。现在,让我告诉你一个更好的解决方案——PE-bear,这款免费开源的PE文件逆向分析工具,将彻底改变你分析Windows可执行文件的工作流程。 ## 🔍 传统逆向分析面临的挑战 想象一下,当你拿到一个可疑的.exe文件时,传统方法需要你同时使用PEiD检测

gitblog_00412的博客 326

PE文件格式(转)

由于工作需要,要对PE文件进行分析,以下链接是我从网上找到的,很详细。看了之后不是很明白,以后再看看。 http://bbs.pediy.com/showthread.php?threadid=21932 http://mental.8gua.me/art/ebook/peformat.htm 转载于:https://www.cnblogs.com/leon916/ar...

weixin_30446197的博客 89

PE-bear入门指南:安全研究者的PE文件分析利器

在逆向工程和恶意软件分析领域,PE文件分析是不可或缺的基础技能。面对复杂的二进制文件结构,选择一款合适的分析工具至关重要。今天我们将深入了解PE-bear这款跨平台PE文件分析工具,帮助安全研究新手快速上手。 ## 为什么选择PE-bear? PE-bear作为一款功能全面的PE文件分析工具,其独特优势在于: ### 🎯 多平台兼容性 支持Windows、macOS和Linux三大操作系统

gitblog_00861的博客 710

PE工具PE Explorer:深入了解与高效操作PE文件的最佳伴侣

PE工具PE Explorer:深入了解与高效操作PE文件的最佳伴侣 【下载地址】PE工具PEExplorer使用说明 PE Explorer 是一款功能强大的PE文件操作工具,专为需要深入处理PE文件的用户设计。它支持查看PE文件的详细信息,包括头部、节表和资源等,帮助用户全面了解文件结构。用户还可以通过该工具修改PE...

gitblog_06700的博客 908
上一篇: NMFilter.sys(4.3.2.2485)逆向源代码
下一篇: DebugVista的一般步骤
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值