PE文件解析-资源中的字符串结构

一、概述

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

    PE文件的资源中,字符串的资源类型ID=6。字符串在资源中分组存储,每组最多16个,以ID号分段,[ID/16]值相同的在同一组。在RC文件中,字符串的定义方式如下:

STRINGTABLE PRELOAD DISCARDABLE 
BEGIN
	IDR_MAINFRAME           "test\n\nTest\n\n\nTest.Document\nTest Document"

END

STRINGTABLE PRELOAD DISCARDABLE 
BEGIN
	AFX_IDS_APP_TITLE       "test"
	AFX_IDS_IDLEMESSAGE     "就绪"
END

二、字符串的资源结构

    字符串在资源中,以固定16个字符串的方式进行存储。假如该组字符串资源在资源树的第二层中的ID值是baseID,其中一个字符串在改组的序号为index,那么该字符串的真实ID=(baseID-1)*16+index。

    由于字符串中间可能包括'\0',字符串的长

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值