我目前正在尝试从 .DLL 库中提取一些数据 - 我已经弄清楚了文件结构(有 1039 个用 zlib 压缩的数据块,从偏移量 0x3c00 开始,最后一个是胖表)。胖表本身分为 1038 个“块”(8 个字节 + 一个 base64 编码的字符串 - 文件名)。据我所知,字节 5 是文件名的长度。
我的问题是我似乎无法理解字节 1-4 的用途:我的第一个猜测是它们是在 .DLL 中定位文件块的偏移量(主要是因为整个表中的值都在增加),但例如,在这种情况下,第一个“块”是:
- 假设偏移量:2E 78 00 00
- 文件名长度:30 00 00 00
- Base64 编码文件名:59 6D 46 30 64 47 78 6C 58 32 6C 75 64 47 56 79 5A 6D 46 6A 5A 56 78 42 59 33 52 70 64 6D 56 51 5A 58 4A 72 63 7 31 6 4E 7F 6 3D 3D
然而,正如我之前所说,块本身位于 0x3c00,所以事情不匹配。第二个块也是如此(从 0x3f0b 开始,而表假定的偏移量是 0x167e)
有任何想法吗?