1

看起来 TrueCrypt (TC) 引导加载程序很大,因此在 MBR(446 字节)和 MBR 之后但在第一个分区之前的 32KB 孔之间分割。TrueCrypt 似乎在找到扇区 0 之后的 32KB 孔时是硬编码的(即纯 MBR 方案)。因此,当我们有一个 GPT(占用前 34 个扇区/17407 字节)而不是 MBR 时,这个 32KB 的孔应该滑动得更远——它不是。

我认为解决方案是“直截了当”的,而不是仅仅在 MBR 之后寻找 32KB 的可用空间(对于剩余的 TC 引导加载程序),在 GPT 之后寻找 32KB 也应该是灵活的。简而言之

// made up variable names
if (MBR)
{
    startOffsetTCBootloader = sizeOfMBR;
} 
else if (GPT)
{
    startOffsetTCBootloader = sizeOfGPT;
}
// plug back startOffsetTCBootloader into other calcs/jumps

虽然我有汇编和引导加载程序的背景,但都不是 x86 汇编。所以我需要时间自己解决这个问题。另外,我正忙于其他一些项目,所以很遗憾没有选择一个宠物项目的奢侈(现在)。所以这是向我的开发者伙伴们寻求帮助的呼吁,他们可能处于更好的位置:)

所以:有谁知道如何修改它?最好将其返回到核心存储库,但由于主分支似乎没有响应,因此分叉并不是一个简单的想法。

仅供参考,我确实写信给 TC 开发人员,但我认为我的电子邮件进入了黑洞……所以必须自己修复它。GPT 磁盘是未来,所以这个修复应该有很长的寿命和许多其他用例。

有用的链接:

  1. Truecrypt (TC) 来源:http ://www.truecrypt.org/downloads2
  2. Truecrypt (TC) 许可证:http ://www.truecrypt.org/legal/license
  3. 我的用户级问题:https ://superuser.com/questions/361515/install-truecrypt-on-a-macbook-for-whole-disk-encryption-of-the-win7-partition-i
  4. 更多技术细节(其他人):http ://www.wilderssecurity.com/showpost.php?p=1590313&postcount=3其他人。
4

0 回答 0