[技巧] 一种基于虚拟磁盘文件和 BitLocker 的加密分享方法
前言
伴随大量的在线解压、炸链、不会解压等问题。上传者采用了各种方式来防止在线解压,包括但不限于以下几种方式。
- 分卷压缩并更改扩展名;
- 多层压缩包与密码;
- wim、tar.gz等非Windows主流压缩格式;
- 多媒体格式扩展区数据隐写。
以上形式同时增加了上传者和下载者的的操作难度,额外增加了许多硬盘开销。因此我参考安卓虚拟机研究了一种类似 iso 虚拟光盘可以直接挂载内容,并且拥有密码保护,无法进行在线解压的方法。
制作流程
省流
如果从头开始的制作流程你觉得麻烦,可以直接下载我做好的的示例文件,可以克隆多份重复使用。直接看下面的使用方法就好了
从头开始
Windows 7 存在一些问题,建议通过 Windows 10 进行制作。
创建 VHD 虚拟磁盘文件
开始按钮点击右键打开“磁盘管理”
或者Win+R 运行 diskmgmt.msc 打开“磁盘管理”,或者打开 所有控制面板项-管理工具-计算机管理,选择 储存-磁盘管理
选择路径与硬盘大小,如果需要兼容 Win7 就创建 VHD 格式,如果需要创建 2 TB 以上的硬盘则需要选择 VHDX,但不支持 Win7。我这次先创建 500 GB 的 VHD 作为示例。
虚拟硬盘类型建议选择“动态扩展”,这样再没储存内容前就不需要提前生成完整的 500 GB 大小。
初始化硬盘
创建后,系统会自动附件这个虚拟硬盘,现在由于是一个全新的硬盘,我们需要和新硬盘一样进行初始化。
分区表格式 XP 只支持 MBR,Win 7 支持 GPT。XP 不支持 VHD 与本方法无关,所以这里可以直接选 GPT。
然后对这个盘进行分区,由于我们只是简单储存内容,因此直接新建一个默认的最大空间的分区即可。
Windows 下只能格式化为 NTFS 和 Fat32 等分区格式。因为也只是简单的文件分享,可以勾选启用压缩以减少空间容量。
如果有需要格式化成 Ext4 等格式的,可以使用 Diskgenius 或者到 Linux 下操作。
BitLocker 加密硬盘分区
虽然现在已经可以当成硬盘使用了,但是还先别急,我们需要对硬盘进行密码加密。
我的电脑里面找到分区,右键菜单里 启用 BitLocker。
选择使用密码,比如8个8。
恢复密钥可以不保存,因为我们知道密码是 8 个 8 了,或者你随便存一个文件也可以。
选择仅加密已用磁盘空间,Win 7 就是不支持这一步,导致会加密整个分区,虚拟硬盘文件会增加到设定的最大大小。
加密模式要选择兼容模式,否则这个硬盘无法在 Win 7 上打开。
加密成功后我们会看到硬盘上出现了一把锁,就是成功了。
备份虚拟硬盘
这个虚拟硬盘文件可以重复使用,避免每次都来做上面这么多流程。
需要先把硬盘取下来,磁盘管理里面对这个虚拟硬盘选择分离 VHD。
这个开启了 BitLocker 的空磁盘文件大约 200 MB 左右,直接复制文件备用。
存放文件和分享
将虚拟硬盘挂载到系统里,Win 7 需通过磁盘管理。
Win 10 默认情况下直接双击这个 VHD 就会自动挂载,可能会弹出来报错,此处可以不用理会。
按照系统提示,输入密码解锁 BitLocker
解锁后,和普通硬盘一样,往里直接复制即可。文件可以直接在硬盘里打开,甚至可以直接将游戏文件夹复制进去在里面玩。
但需要注意,删除文件后,虚拟硬盘文件大小可能不会减少,所以最好不要频繁删改。
操作完成后,再分离 VHD,即可分享这个文件了。
磁盘管理界面的下半区域内,翻到这个蓝色的虚拟磁盘,在左边的磁盘上点击右键,选择 分离 VHD。
使用流程
下载上传者分享的 VHD 虚拟硬盘文件后,将虚拟硬盘挂载到系统里。
Windows 10
自动挂载
Win 10 默认情况下直接双击这个 VHD 就会自动挂载,可能会弹出来报错,此处可以不用理会。被压缩软件占用了 VHD 打开方式的,右键修改打开方式为资源管理器即可。
手动挂载
如果还是不能自动挂载,可以尝试手动挂载,开始按钮点击右键打开“磁盘管理”
或者 Win+R 运行 diskmgmt.msc 打开“磁盘管理”,或者打开 所有控制面板项-管理工具-计算机管理,选择 储存-磁盘管理。
磁盘管理内选择 操作-附加 VHD
解锁使用
按照系统提示,输入密码解锁 BitLocker
然后就可以和普通硬盘一样,打开文件进行各种操作了。
分离 VHD
操作完成后,记得分离 VHD。
开始按钮点击右键打开“磁盘管理”
或者 Win+R 运行 diskmgmt.msc 打开“磁盘管理”,或者打开 所有控制面板项-管理工具-计算机管理,选择 储存-磁盘管理。
界面的下半区域内,翻到这个蓝色的虚拟磁盘,在左边的磁盘上点击右键,选择 分离 VHD。
如果不再需要这些分享资源,就可以删除这个文件了。如果需要的话,可以直接留着虚拟硬盘文件不用复制出来,这样别人不知道密码是无法看到里面的文件的,可以有效避免社死。
Windows 7
Win 7 需手动挂载,Win+R 运行 diskmgmt.msc 打开“磁盘管理”,或者打开 所有控制面板项-管理工具-计算机管理,选择 储存-磁盘管理。
磁盘管理内选择 操作-附加 VHD
输入密码解锁 BitLocker
然后就可以和普通硬盘一样,打开文件进行各种操作了。
操作完成后,记得分离 VHD,即可删除这个文件了。
总结
此方法解决了传统加解密方法操作复杂或难以寻找解压工具的问题。
优点:
- 直接挂载不需要解压,可以直接使用,减少解压等待时间;
- 避免多次解压占用硬盘冗余使用空间;
- BitLocker 加密等级高目前无法被在线解压;
- Win 7 以上不需要安装任何第三方软件,可以直接使用。
缺点
- 如果分享的文件比较大,可能仍需要压缩包二次分卷操作;
- 分离 VHD 需要打开”磁盘管理“操作;
- 手机上无法解压,Linux 下需要安装额外的依赖。
看个黄而已真别搞太邪门的,别到时候叔叔办着间谍反恐的案子把你叫过去问话去了
以上评论亮了
技术贴
无法被在线解压可以看看我的两篇文章,我个人推荐可以移除或者偏移文件头来进行伪装,优点是无法在线解压,并且百度网盘无法识别为压缩文件(前提你把文件名改好),而且手机能解压,使用简单,缺点嘛,如果只是偏移文件头我不确定百度会不会通过文件特征来进行封禁
@狩野桐花(cancan2333) 我认为虚拟硬盘的好处还是在于不需要解压,就像个上锁的抽屉,可以随时取用。全是Windows自带功能,不需要进行额外的操作的优势。
特别是分享电脑游戏的,如果不需要注册表内容的,完全可以在虚拟硬盘内安装好后,直接分享硬盘,用户连安装过程都省了。
@mapaler 这确实qap,但是只适合Windows用户,对安卓和Linux,啊不,就安卓用户可能不太友好,不过可以让其他站友在评论区当hero()
@狩野桐花(cancan2333) 我觉得,那种首先是分卷压缩,然后需要多层解压,有的要改扩展名,有的还是隐写的,对安卓用户也没好到哪里去。
有一个调研安卓挂载VHD的,确实不好搞,直接给他们说必须要用电脑打开就是了。 https://blog.csdn.net/sdhahk/article/details/146259452
现在需要有资源分享者先尝试一下,找找流程中间的 bug。
那为什么不直接用VeraCrypt加密)
@莉莉卡 这个Windows自带,速度很快。小白也无需任何配置,开箱即用。
@mapaler 但是vera支持其他系统,手机也能用
感觉推行起来会很困难,多层压缩虽然步骤多,但是胜在容易理解,但就算这样也还是有人搞不懂解压,挂载虚拟磁盘和 BitLocker 就更别提了……
@LittleSaya 如果是体量最大的Win10和Win11用户,只需要双击就能够挂载,再输入一个密码就打开了。你可以下载我的示例来看看。
这篇文章涉及到了如何用多个小文件来建立虚拟硬盘,可惜难度较高。 https://blog.csdn.net/YuXuan_0012/article/details/121527365
看个黄而已真别搞太邪门的,别到时候叔叔办着间谍反恐的案子把你叫过去问话去了
比起改后缀名或多层压缩,这个办法要麻烦多了
@draak 对于开发者来说,初始化会比较麻烦,但是只要做了第一个(直接下载我那个已经做好的成品也可以),后面只需要复制一份就可以搞了。随时可以挂载和解除挂载。只要是会员能上传大文件,整个分享流程就只存在VHD这一层文件。需要修改文件重新上传时,随便挂载往里面改一个txt,再卸载这个虚拟硬盘就变了。如果是多层压缩还得重新走一遍压缩流程。
对于用户,下载得到的VHD,直接挂载即可运行和查看内容,不需要进行解压,也不麻烦呀。
@fang 直接下载我那个做好的成品VHD,挂载,复制进去,卸载,分享 VHD。我认为流程反而是减少了才对。