x86启动代码程序员:如何修改GPT表的Truecrypt启动加载程序代码?

时间:2011-11-25 23:44:17

标签: x86 bootloader truecrypt

看起来TrueCrypt(TC)引导加载程序很大,因此在MBR之后但在第一个分区之前分割MBR(446字节)和32KB空洞。并且TrueCrypt似乎是硬编码在扇区0之后发现32KB漏洞(即纯MBR方案)。因此,当我们有一个GPT(它占据前34个扇区/ 17407个字节)而不是MBR时,这个32KB的空洞应该更远的滑块 - 它不是。

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

// 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

0 个答案:

没有答案