我正在尝试计算 MSG 文件的命名属性部分的流名称,特别是字符串命名属性。 MSG 文件格式规范 表示 ID 的生成方式如下:
流 ID = 0x100m ((ID XOR (GUID 索引 << 1 | 1)) MOD 0x1f
其中 ID 值是“Unicode 名称标识符”的 CRC-32。我也是确信 0x100m
实际上是 0x1000
。
当 GUID 索引为时,这会以某种方式将 'x-mailer'
映射到 0x100f
。 3. ID 的值为 0x894e50ff(因为它存储在另一个位置),但是 'x-mailer'
如何转换为该值?
(这些是存储在 下的属性” __nameid_version1.0"
,部分位于 "__substg1.0_00040102"
流内)。
I'm trying to calculate the stream name for the named property part of an MSG file, specifically string named properties. The MSG file format specification says that the ID is generated as follows:
Stream ID = 0x100m ((ID XOR (GUID index << 1 | 1)) MOD 0x1f
Where the ID value is the CRC-32 for the "Unicode name identifier". I'm also confident that 0x100m
is actually 0x1000
.
This somehow maps 'x-mailer'
to 0x100f
when the GUID index is 3. The value for ID is 0x894e50ff (since it is stored in another location), but how does 'x-mailer'
get converted to that value?
(These are the properties stored under "__nameid_version1.0"
, partly inside the "__substg1.0_00040102"
stream).
发布评论
评论(1)
这是 回答:
Here is the answer from a Microsoft Engineer: