如何在 USB 驱动器中创建一个额外的隐藏分区

如何在 USB 驱动器中创建一个额外的隐藏分区

出于安全考虑,我需要在 USB 闪存驱动器上找到一个额外的隐藏分区。USB 驱动器包含一个安全应用程序,它将(以代码形式)检查隐藏分区是否存在。如果不存在,我将假定该应用程序是无效副本。

对此有什么想法吗?

已经有一个编程的安全方法,可以使用 WMI Win32_drive 类来检查 USB 驱动器是否正确。其思路是将驱动器信息定位到隐藏分区中,并检查其是否符合防篡改程序。

答案1

需要注意的是,“hidden” 并不是真正的“隐藏”。它的意思是“对普通人隐藏”。任何能运行 fdisk 的人都能看到那里有一个分区,并且可能会好奇它是用来做什么的。

如果您的目的只是进行应用程序密钥管理(它只能在特殊的 USB 驱动器上运行),那么我建议不要创建隐藏分区,而是将主分区设置为距离 USB 驱动器末尾几 K 的位置。然后使用 Windows Raw Access API 直接访问 USB 驱动器并在物理设备末尾查找特殊数据(您已经写入的数据)。

这比额外分区更隐蔽,也更不容易被发现。不幸的是,它仍然很容易受到整个驱动器复制的影响,并且可能无法真正实现您的目标。

我建议详细说明您真正想要做的事情,让我们尽力帮助您实现最终结果。

答案2

嗯,作为一个想法,你可以使用TrueCrypt。它还有一个便携式安装选项,您可以在文件上创建隐藏分区

答案3

听起来您正在使用它来支持您希望在闪存驱动器上部署的应用程序?

这可能是一个针对 stackoverflow 和 Windows API 的问题。例如,您可以通过“gparted”从 Linux LiveCD(如 openSUSE)创建分区。这些工具允许您指定“隐藏 FAT”的“分区类型”。

一旦您有了第二个分区,可能就会有一个 API 来查询分区表,但我不知道,以及您的应用程序是否需要管理权限才能运行。

即使应用程序确实获得了管理员权限,那么整个组策略(例如域帐户)是否可能阻止访问分区表?

相关内容