Binary 反向工程位掩码模式

Binary 反向工程位掩码模式,binary,hex,reverse-engineering,Binary,Hex,Reverse Engineering,我有一个二进制文件,我正在尝试反向工程。除了一个关于位掩码的步骤外,我几乎管理了所有的事情。 二进制文件基本上是一个带有页面的链表。每个页面都有一个标题,其中包含指向该页面内块的2字节指针。在标题中,还有几个字节看起来像是位掩码,但我还没有弄清楚这个位掩码是如何工作的 缺少的重要信息是确定块是否不再使用(删除)的标志。读取二进制文件的程序在删除项时只更改位掩码(可能还有校验和)。因此,我的结论是,位掩码中必须有某个位指示每个指针块不再使用。问题是我在这个位掩码中找不到任何模式。所以我想知道我是否

我有一个二进制文件,我正在尝试反向工程。除了一个关于位掩码的步骤外,我几乎管理了所有的事情。 二进制文件基本上是一个带有页面的链表。每个页面都有一个标题,其中包含指向该页面内块的2字节指针。在标题中,还有几个字节看起来像是位掩码,但我还没有弄清楚这个位掩码是如何工作的

缺少的重要信息是确定块是否不再使用(删除)的标志。读取二进制文件的程序在删除项时只更改位掩码(可能还有校验和)。因此,我的结论是,位掩码中必须有某个位指示每个指针块不再使用。问题是我在这个位掩码中找不到任何模式。所以我想知道我是否缺少一些常用于位掩码的东西

这是页面的开头:

紫色是指向下一页的指针。洋红(大概)是校验和。橙色是指向块的2字节指针的起点(128字节,最多64个块)。绿色是堆和第一个块的开始(A4 00=164,这是相对于页面开始的绿色偏移)

这是相同的页面,但在删除任何项目之前

红色是已更改的字符。除此之外,文件中没有任何更改(除了开始时的文件校验和)

这里是相同的比较,但二进制:

我怀疑字节18h到1Bh是最后32个指针的位掩码,因为它们都是0。14h到17h是前32个指针的位掩码。问题是我无法理解位掩码,也无法在这里找到任何模式

有什么想法吗