ARF资源文件解包器是一款简单实用的ARF资源文件提取工具,软件方便简单,能够轻松提取ARF资源文件里面的子文件,需要的话可以来下载使用。
功能:
ARF文件分为4部分
1、16字节文件头 2、子文件名列表 3、子文件信息列表 4、子文件数据
一、ARF文件头数据
这一部分共16字节,前4字节是文件标志(41 52 00 00),接下来4字节是子文件个数,4字节加密文件名列表用的MagicKey,最后4字节是子文件信息列表的偏移地址。
二、子文件名列表
这一部分是不定长的,有N个shortstring组成。而且文件名的前4的整数倍字节被加密过,需要用MagicKey异或解密。
三、子文件信息列表
首先定义一个结构 struct FileInfo { WORD ID; // 子文件的编号,一般是从0开始计算,貌似没什么实际意义 DWORD Offset; // 子文件在包中的起始偏移量 DWORD FileSize; // 子文件的大小 BYTE MagicKey; // 解密子文件用的MagicKey };
第三部分由N个FileInfo结构组成,N是子文件的总个数。
四、子文件数据
除去前三部分,剩下就是子文件数据。解包的时候直接通过FileInfo.Offset在文件中Seek,然后读取FileInfo.FileSize字节的数据。不过需要注意的是,每个小文件的头20字节被MagicKey异或过了,我们再异或回来就OK啦。
使用说明:
1.下载并运行软件,选择需要解包的ARF文件。
2.点击分析文件,选择需要提取的子文件。
3.点击开始导出即可。