CnCrypt代码 之 为磁盘设备分配和移除盘符

BOOL ChangeMountPoint(int nDriveNo, LPCTSTR lpDevice, BOOL bAddMountPoint)
{
	BOOL bResult = FALSE;
	TCHAR szDriveLetterAndSlash[4] = { 0 };
	TCHAR szDriveLetter[3] = { 0 };
	TCHAR szUniqueVolumeName[MAX_PATH] = { 0 };
	szDriveLetter[0] = (WCHAR)(nDriveNo + L'A');
	szDriveLetter[1] = TEXT(':');
	szDriveLetter[2] = TEXT('\0');

	szDriveLetterAndSlash[0] = (WCHAR)(nDriveNo + L'A');
	szDriveLetterAndSlash[1] = TEXT(':');
	szDriveLetterAndSlash[2] = TEXT('\\');
	szDriveLetterAndSlash[3] = TEXT('\0');
	if (bAddMountPoint)
	{
		//Try to Attach lpDevice to lpDriveLetter
		bResult = DefineDosDevice(DDD_RAW_TARGET_PATH, szDriveLetter,
			lpDevice);

		if (bResult)
		{
			if (!GetVolumeNameForVolumeMountPoint(szDriveLetterAndSlash,
				szUniqueVolumeName,
				MAX_PATH))
			{
				//Can't Find Attached lpDevice 's VolumeName
				szUniqueVolumeName[0] = '\0';
			}

			bResult = DefineDosDevice(
				DDD_RAW_TARGET_PATH | DDD_REMOVE_DEFINITION |
				DDD_EXACT_MATCH_ON_REMOVE, szDriveLetter,
				lpDevice);

			if (!bResult)
				return bResult;

			bResult = SetVolumeMountPoint(szDriveLetterAndSlash,
				szUniqueVolumeName);
		}
	}
	else
	{
		bResult = DeleteVolumeMountPoint(szDriveLetterAndSlash);
	}

	return bResult;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CnCrypt是一款专门为用户打造的磁盘加密软件,同时支持Windows2000-Win 10之间的所有操作系统。主要为用户提供便捷的电脑磁盘加密功能,能创建加密的“虚拟磁盘文件”(类似虚拟光驱,大小可以自定义),所有加密数据都是经过AES等加密算法的运算后的结果,无法破解。CnCrypt提供多种加密算法,包括:AES-256, Blowfish (448-bit key), CAST5, Serpent, Triple DES, and Twofish,其他特性还有支持FAT32和NTFS分区、隐藏卷标、热键启动等。 主要特性 1 所有加密都是以分区为基础的。 2 真加密,所有加密数据都是经过AES等加密算法的运算后的结果,无法破解(穷举法除外)。 3 能创建加密的“虚拟磁盘文件”(类似虚拟光驱,大小可以自定义) 4 加密单个分区或整个硬盘。 5 加密过程自动、实时、透明(使用加密文件或分区前输入密码,载入后就可以像使用一个普通分区一样使用加密分区。) 6 提供两级方案,以应对被强迫说出密码的情况(如抢劫)。 6.1 隐藏分区(覆盖式密码术,steganography) 6.2 无法探测到CnCrypt 加密分区(加密数据会被认为是随机数据) 7 加密算法:AES-256、Serpent、Twofish。为取得更好加密效果,可以同时使用两种或三种加密算法。操作模式:XTS。 8 多样化的身份认证 8.1支持通常使用的密码认证; 8.2支持密匙文件认证,通过指定的文件作为密匙对数据加密。(密匙文件支持:任何类型的文件)电脑上那么多文件,要是想尝试暴利破解,就等着累死吧。 8.3支持PKCS 11运行库,可以使用硬件口令卡(例如:U盾)进行加密认证。密钥随身携带,从而再次提高了数据的安全性,以此实现更高规格的防暴力破解。 CnCrypt V1.11 修改记录 实现单文件绿色版本,包括安装,创建,加载功能 修正V1.10中存在的一些细节BUG 密钥文件按钮上显示当前密钥文件个数 某些Windows错误弹窗为空白,无法获取到错误信息描述 菜单增加关联资源管理器,取消关联资源管理器选项 资源管理器菜单修改为子菜单方式 属性中增加占用磁盘空间项,可以显示动态卷目前已经占用的磁盘空间 在加密卷右键菜单上增加了创建桌面快捷方式菜单项 Mount命令行增加盘符被占用时自运选择空闲盘符选项,可与指定盘符功能一块用,例如 "/letter X: /letter auto" 增加快速创建加密卷(一键创建加密卷) 便携版本配置文件目录移动到用户数据目录(之前为程序目录) 增加文件日期修改工具 增加加密卷占用磁盘空间压缩功能 CnCrypt V1.10 修改记录 增加加密卷空间扩充工具 恢复了TrueCrypt原有系统加密功能 修正了TrueCrypt安全审计团队审计发现的几个BUG 当有子窗口时用快捷键退出存在的BUG WIN7之后系统修改显示密码选项后*号显示不一样的问题 对多处界面显示进行了修正 创建新加密卷时‘选择文件’按钮修改为‘指定文件’。 文件浏览窗口为非保存模式时,修改指定文件必须存在。 设备浏览窗口中分区前面加了若干空格来区分磁盘和卷。 Format和Mount的历史记录可以实时同步 挂载盘符时可以使用A和B盘符 盘符列表右键菜单增加了‘打开文件所在位置’功能 增加了检查更新功能,该功能不会自动连接网络,除非用户手动进行操作。 收藏加密卷中存在同样加密卷时进行提醒 对主菜单布局进行了调整 对中文进行了更好的优化 增加了CnCrypt加密方式,同时继续兼容TrueCrypt加密方式 对磁盘大小输入框进行输入验证 自动加载所有设备加密卷时,跳过对系统所在磁盘和系统分区的检测,节省一定时间。 密钥文件按钮上显示当前密钥文件个数 CnCrypt V1.00 修改记录 基于TrueCrypt7.1a的主要修改 完美支持win2000-win10的所有32位和64位版本。 增加了便携磁盘加密卷创建和加载功能(不会出现“未格式化”的提示) 增加了与Windows资源管理器的集成(加载加密卷,保存至加密卷,粉碎选择文件) 去除了有关系统盘\系统驱动器部分(UEFI之后已无法支持之前实现方式) 增加加密卷擦除功能 增加密码生成器功能 增加了密码输入软键盘功能 增加了磁盘痕迹擦除工具 增加了悬浮框,支持拖放加载,右键功能菜单等。 托盘菜单支持快速加载,支持加载历史记录,加载收藏卷等功能。 加密卷创建向导增加了向导步聚显示 界面细节的诸多优化 内核驱动一些BUG的处理 安装包体积缩小至1.67M,便携压缩包缩小至0.9M 界面完美支持中文 界面使用了操作系统风格 在界面中增加了Banner 对加密卷收藏夹界面进行较大修改 对语言选择界面进行较大

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值