探索无界限: gta5线下无限代码 全代码解锁指南

本文介绍如何从 AD DS 恢复 BitLocker 密钥。组织可以使用保存在 Active Directory 域服务 (AD DS) 中的 BitLocker 恢复信息来访问受 BitLocker 保护的数据。 建议在规划 BitLocker 部署时为 BitLocker 创建恢复模型。本文假定已了解如何设置 AD DS 以自动备份 BitLocker 恢复信息,以及将哪些类型的恢复信息保存到 AD DS。本文不详细介绍如何配置 AD DS 以存储 BitLocker 恢复信息。什么是 BitLocker 恢复?BitLocker 恢复是一个过程,通过该过程,如果驱动器无法正常解锁,则可以将访问权限还原到受 BitLocker 保护的驱动器。 在恢复方案中,可以使用以下选项来还原对驱动器的访问:用户可以提供恢复密码。 如果组织允许用户打印或存储恢复密码,则用户可以输入 48 位恢复密码,该密码打印或存储在 U 盘或 Microsoft 帐户联机。 仅当在不是域成员的电脑上使用 BitLocker 时,才允许使用 Microsoft 帐户联机保存恢复密码。
数据恢复代理可以使用其凭据解锁驱动器。 如果驱动器是操作系统驱动器,则必须将驱动器装载为另一台计算机的数据驱动器,数据恢复代理才能解锁它。
域管理员可以从 AD DS 获取恢复密码,并使用它解锁驱动器。 建议在 AD DS 中存储恢复密码,以便 IT 专业人员能够在需要时获取组织中驱动器的恢复密码。 此方法使得必须在 BitLocker 组策略设置中选择如何恢复受 BitLocker 保护的操作系统驱动器(位于本地组策略编辑器中的计算机配置>管理模板>Windows 组件>BitLocker 驱动器加密>操作系统驱动器)中启用此恢复方法。 有关详细信息,请参阅 BitLocker 组策略设置。
是什么导致 BitLocker 恢复?以下列表提供了在尝试启动操作系统驱动器时将导致 BitLocker 进入恢复模式的特定事件示例:在使用 BitLocker 驱动器加密的电脑上,或在仅使用 BitLocker 设备加密的平板电脑或手机上,当检测到攻击时,设备将立即重新启动并进入 BitLocker 恢复模式。 若要利用此功能,管理员可以设置交互式登录:计算机帐户锁定阈值组策略设置位于计算机配置>Windows 设置>安全设置>本地策略>安全选项本地组策略编辑器。 或者,他们可以使用 Exchange ActiveSync 的 MaxFailedPasswordAttempts 策略(也可以通过 Microsoft Intune 配置)来限制设备进入设备锁定之前失败的密码尝试次数。
在具有 TPM 1.2 的设备上,更改 BIOS 或固件启动设备顺序会导致 BitLocker 恢复。 但是,在这种情况下,使用 TPM 2.0 的设备不会启动 BitLocker 恢复。 TPM 2.0 不会将启动设备顺序的固件更改视为安全威胁,因为 OS 启动加载程序未受到威胁。
在 BIOS 启动顺序中将 CD 或 DVD 驱动器置于硬盘驱动器之前,然后插入或取出 CD 或 DVD。
在从硬盘驱动器启动之前无法从网络驱动器启动。
停靠或取消停靠便携式计算机。 在某些情况下(取决于计算机制造商和 BIOS),便携式计算机的停靠条件是系统度量的一部分,必须保持一致才能验证系统状态并解锁 BitLocker。 因此,如果便携式计算机在打开 BitLocker 时连接到其扩展坞,则在解锁时,它可能还需要连接到扩展坞。 相反,如果便携式计算机在打开 BitLocker 时未连接到其扩展坞,则可能需要在解锁时断开与扩展坞的连接。
对磁盘上的 NTFS 分区表进行更改,包括创建、删除或调整主分区的大小。
个人标识号 (PIN) 输入错误次数过多,导致 TPM 的反攻击逻辑被激活。 反攻击逻辑是一种软件或硬件方法,通过在特定时间过去之前不接受 PIN 输入来增加对 PIN 进行暴力攻击的难度和成本。
如果使用基于 USB 的密钥而不是 TPM,请关闭对在预启动环境中从 BIOS 或 UEFI 固件读取 USB 设备的支持。
关闭、禁用、停用或清除 TPM。
升级关键的早期启动组件(如 BIOS 或 UEFI 固件升级),导致相关启动度量更改。
启用 PIN 身份验证时忘记 PIN。
更新选项 ROM 固件。
升级 TPM 固件。
添加或删除硬件;例如,将一张新卡(包括一些 PCMIA 无线卡)插入计算机。
删除、插入或完全耗尽便携式计算机智能电池上的电量。
更改磁盘上的主启动记录。
更改磁盘上的引导管理器。
从操作系统隐藏 TPM。 某些 BIOS 或 UEFI 设置可用于阻止将 TPM 枚举到操作系统。 如果实现此选项,则会使 TPM 在操作系统中隐藏。 隐藏 TPM 时,将禁用 BIOS 和 UEFI 安全启动,并且 TPM 不会响应来自任何软件的命令。
使用无法正确输入 PIN 的其他键盘,或者其键盘映射与预启动环境假定的键盘映射不匹配。 此问题可能会阻止输入增强的 PIN。
修改 TPM 验证配置文件使用的平台配置注册表 (PCR)。 例如,包括 PCR[1] 将导致 BitLocker 测量 BIOS 设置的大多数更改,导致 BitLocker 进入恢复模式,即使非启动关键 BIOS 设置发生更改也是如此。
注意某些计算机的 BIOS 设置会跳过对某些 PCR(例如 PCR[2])的测量。 在 BIOS 中更改此设置会导致 BitLocker 进入恢复模式,因为 PCR 度量会有所不同。
将 BitLocker 保护的驱动器移动到新的计算机。
将主板升级到具有新 TPM 的新主板。
在启用启动密钥身份验证后,丢失包含启动密钥的 U 盘。
TPM 自测试失败。
具有不符合客户端计算机的相关受信任计算组标准的 BIOS、UEFI 固件或选项 ROM 组件。 例如,不合规的实现可能会在 TPM 度量中记录易失性数据(例如时间),导致每次启动时度量不同,并导致 BitLocker 在恢复模式下启动。
将 TPM 的存储根密钥的使用授权更改为非零值。
注意BitLocker TPM 初始化过程将使用率授权值设置为零,因此其他用户或进程必须显式更改此值。
在 Windows 引导管理器 (Bootmgr) 上禁用代码完整性检查或启用测试签名。
在启动过程中按 F8 或 F10 键。
添加或移除附加卡(例如视频卡或网卡),或升级附加卡上的固件。
在启动过程中使用 BIOS 热键将引导顺序更改为硬盘驱动器外的其他内容。
注意在开始恢复之前,建议确定导致恢复的原因。 这可能有助于防止将来再次出现问题。 例如,如果确定攻击者通过获取物理访问权限修改了计算机,则可以创建新的安全策略来跟踪谁有物理状态。 使用恢复密码恢复对电脑的访问后,BitLocker 会将加密密钥重新密封为测量组件的当前值。对于计划方案(例如已知的硬件或固件升级),可以通过暂时挂起 BitLocker 保护来避免启动恢复。 由于暂停 BitLocker 会使驱动器完全加密,因此管理员可以在计划任务完成后快速恢复 BitLocker 保护。 使用暂停和恢复还会重新封装加密密钥,而无需输入恢复密钥。注意如果暂停,BitLocker 将在电脑重新启动时自动恢复保护,除非使用 manage-bde 命令行工具指定重新启动计数。如果软件维护要求重启计算机并使用双重身份验证,则可以启用 BitLocker 网络解锁功能,以便在计算机没有提供其他身份验证方法的本地用户时提供辅助身份验证因素。在计划外或不需要的行为上下文中介绍了恢复。 但是,恢复也可以作为预期的生产方案进行,例如,为了管理访问控制。 将台式机或笔记本电脑重新部署到企业中的其他部门或员工时,可以在将计算机提供给新用户之前强制恢复 BitLocker。测试恢复在创建彻底的 BitLocker 恢复过程之前,建议测试恢复过程如何适用于最终用户 (呼叫支持人员以获取恢复密码) 和管理员 (帮助最终用户获取恢复密码) 的人员。 命令-forcerecoverymanage-bde.exe是一种在用户遇到恢复情况之前逐步完成恢复过程的简单方法。若要强制恢复本地计算机,请执行以下操作:选择“ 开始” 按钮并键入 cmd

“cmd.exe ”或 “命令提示符” 上右键单击,然后选择“ 以管理员身份运行”。
在命令提示符下,输入以下命令:
manage-bde.exe -forcerecovery <BitLockerVolume>
若要强制恢复远程计算机,请执行以下操作:选择“ 开始” 按钮并键入 cmd

“cmd.exe ”或 “命令提示符” 上右键单击,然后选择“ 以管理员身份运行”。
在命令提示符下,输入以下命令:
manage-bde.exe -ComputerName <RemoteComputerName> -forcerecovery <BitLockerVolume>
注意由 -forcerecovery 触发的恢复会持续多次重启,直到添加 TPM 保护程序或用户暂停保护。 使用新式待机设备(如 Surface 设备)时,不建议使用 -forcerecovery 选项,因为必须从 WinRE 环境中手动解锁和禁用 BitLocker,然后操作系统才能再次启动。 有关详细信息,请参阅 BitLocker 故障排除:在平板电脑设备上使用 BitLocker 恢复进行连续重新启动循环。
规划恢复过程规划 BitLocker 恢复过程时,请先参阅组织当前恢复敏感信息的最佳做法。 例如:企业如何处理丢失的 Windows 密码? 组织如何执行智能卡 PIN 重置? 这些最佳做法和相关资源 (人员和工具) 可用于帮助制定 BitLocker 恢复模型。依赖 BitLocker 驱动器加密和 BitLocker To Go 来保护运行 Windows 11、Windows 10、Windows 8 或 Windows 7 操作系统和 Windows to Go 的大量计算机和可移动驱动器上的数据的组织应考虑使用 Microsoft BitLocker 管理和监控 (MBAM) 工具版本 2.0,该版本包含在 Microsoft 软件保障的 Microsoft 桌面优化包 (MDOP) 中。 MBAM 使 BitLocker 实现更易于部署和管理,并允许管理员预配和监视操作系统和固定驱动器的加密。 MBAM 在加密固定驱动器之前会提示用户。 MBAM 还管理固定驱动器和可移动驱动器的恢复密钥,使恢复更易于管理。 MBAM 可用作 Microsoft System Center 部署的一部分,也可用作独立解决方案。 有关详细信息,请参阅 Microsoft BitLocker 管理和监控。启动 BitLocker 恢复后,用户可以使用恢复密码解锁对加密数据的访问。 请考虑组织的自我恢复和恢复密码检索方法。确定恢复过程后:自恢复在某些情况下,用户可能会打印出恢复密码或将其存储在 U 盘中,并且可以执行自恢复。 建议组织创建自恢复策略。 如果自我恢复包括使用存储在 U 盘上的密码或恢复密钥,则必须警告用户不要将 USB 闪存驱动器存储在电脑所在的同一位置,尤其是在旅行期间。 例如,如果电脑和恢复项目都在同一个包中,则未经授权的用户很容易访问电脑。 要考虑的另一个策略是让用户在执行自恢复之前或之后联系支持人员,以便找出根本原因。恢复密码找回如果用户没有打印恢复密码或在 U 盘上打印,用户将需要能够从联机源检索恢复密码。 如果电脑是域的成员,则恢复密码可以备份到 AD DS。 但是,默认情况下不会将恢复密码备份到 AD DS。 在电脑上启用 BitLocker 之前 ,必须通过适当的组策略设置配置恢复密码到 AD DS 的备份。 可以在“本地组策略编辑器”或“组策略管理控制台 (GPMC) ”计算机配置>管理模板>“”Windows 组件>“”BitLocker 驱动器加密“下找到 BitLocker 组策略设置。 以下策略设置定义了恢复方法,它可用于在身份验证方法失败或无法使用时还原对受 BitLocker 保护的驱动器的访问。选择如何恢复受 BitLocker 保护的操作系统驱动器
选择如何恢复受 BitLocker 保护的固定驱动器
选择如何恢复受 BitLocker 保护的可移动驱动器
在每个策略中,选择“将 BitLocker 恢复信息保存到Active Directory 域服务然后选择要在 AD DS 中存储的 BitLocker 恢复信息。 如果希望阻止用户启用 BitLocker,除非计算机已连接到域,并且驱动器的 BitLocker 恢复信息备份成功,否则选中“在恢复信息存储在 AD DS 检查之前不要启用 BitLocker”框。注意如果电脑是工作组的一部分,建议用户使用其 Microsoft 帐户在线保存其 BitLocker 恢复密码。 建议使用 BitLocker 恢复密码的联机副本,以帮助确保在需要恢复时不会丢失对数据的访问。利用适用于 Active Directory 用户和计算机的 BitLocker 恢复密码查看器工具,域管理员能够查看 Active Directory 中特定计算机对象的 BitLocker 恢复密码。以下列表可用作模板,用于创建恢复过程以检索恢复密码。 此示例过程使用适用于 Active Directory 用户和计算机的 BitLocker 恢复密码查看器工具。记录用户计算机的名称
验证用户的身份
在 AD DS 中找到恢复密码
收集信息以确定发生恢复的原因
为用户提供恢复密码
记录用户计算机的名称用户计算机的名称可用于在 AD DS 中查找恢复密码。 如果用户不知道计算机的名称,请要求用户在 BitLocker 驱动器加密密码输入用户界面中阅读驱动器标签的第一个单词。 此词是启用 BitLocker 时的计算机名称,可能是计算机的当前名称。验证用户的身份请求恢复密码的人员应验证为该计算机的授权用户。 还应验证用户为其提供名称的计算机是否属于该用户。在 AD DS 中找到具有匹配名称的计算机对象。 由于计算机对象名称在 AD DS 全局目录中列出,因此即使该对象是多域林,也应能够找到该对象。多个恢复密码如果多个恢复密码存储在 AD DS 中的计算机对象下,则 BitLocker 恢复信息对象的名称包括创建密码的日期。若要确保提供正确的密码和/或防止提供不正确的密码,请要求用户读取恢复控制台中显示的八个字符密码 ID。由于密码 ID 是与 AD DS 中存储的每个恢复密码关联的唯一值,因此使用此 ID 运行查询会找到正确的密码来解锁加密卷。收集信息以确定发生恢复的原因在向用户提供恢复密码之前,信息应是有助于确定为何需要恢复的信息。 此信息可用于在恢复后分析期间分析根本原因。 有关恢复后分析的详细信息,请参阅 恢复后分析。为用户提供恢复密码由于恢复密码的长度为 48 位,因此用户可能需要通过写下密码或在另一台计算机上键入来记录密码。 如果使用 MBAM 或 Configuration Manager BitLocker Management,则从 MBAM 或Configuration Manager数据库恢复恢复密码后,将重新生成恢复密码,以避免与不受控制的密码相关的安全风险。注意由于 48 位恢复密码很长并且包含数字组合,因此用户可能听错或拼错密码。 启动时间恢复控制台使用内置的校验和数字检测 48 位恢复密码的每个 6 位块中的输入错误,并让用户有机会更正此类错误。恢复后分析使用恢复密码解锁卷时,会将事件写入事件日志,并在 TPM 中重置平台验证度量值以匹配当前配置。 解锁卷意味着加密密钥已被释放并准备好在将数据写入卷时进行动态加密,并在从卷中读取数据时进行动态解密。 解锁卷后,BitLocker 的行为方式相同,无论授予访问权限的方式如何。如果注意到计算机重复恢复密码解锁,管理员可能需要执行恢复后分析以确定恢复的根本原因,并刷新 BitLocker 平台验证,以便用户不再需要在每次启动计算机时输入恢复密码。 有关详细信息,请参阅:确定恢复的根本原因
解决根本原因
确定恢复的根本原因如果用户需要恢复驱动器,请务必尽快确定启动恢复的根本原因。 正确分析计算机的状态并检测篡改可能会揭示对企业安全具有更广泛影响的威胁。虽然在某些情况下,管理员可以远程调查恢复原因,但最终用户可能需要将包含已恢复驱动器的计算机带到现场,以进一步分析根本原因。查看并回答组织的以下问题:哪种 BitLocker 保护模式 (TPM、TPM + PIN、TPM + 启动密钥、仅启动密钥) 有效? 电脑上使用哪个 PCR 配置文件?
用户只是忘记 PIN 还是丢失了启动密钥? 如果令牌丢失,令牌可能在哪里?
如果 TPM 模式有效,恢复是否是由启动文件更改导致的?
如果恢复是由启动文件更改引起的,则启动文件更改是由于预期用户操作 (例如 BIOS 升级) 还是恶意软件?
用户上次成功启动计算机是何时?之后计算机可能发生了什么情况?
自上次成功启动后,用户是否遇到了恶意软件或计算机无人看管?
为了帮助回答这些问题,请使用 BitLocker 命令行工具查看当前配置和保护模式:manage-bde.exe -status
扫描事件日志以查找有助于指示 (启动恢复的原因的事件,例如,如果启动文件发生更改) 。 这两项功能都可以远程执行。解决根本原因确定导致恢复的原因后,可以重置 BitLocker 保护以避免每次启动时进行恢复。此重置的详细信息可能因恢复的根本原因而异。 如果无法确定根本原因,或者恶意软件或 rootkit 可能感染了计算机,则支持人员应应用最佳做法病毒策略来做出适当的反应。注意可以通过暂停和恢复 BitLocker 来执行 BitLocker 验证配置文件重置。未知 PIN
启动密钥丢失
启动文件发生更改
未知 PIN如果用户忘记了 PIN,则必须在登录到计算机时重置 PIN,以防止每次重启计算机时 BitLocker 启动恢复。防止因未知 PIN 而继续恢复使用恢复密码解锁计算机。
重置 PIN:
选择并按住驱动器,然后选择 “更改 PIN”
在“BitLocker 驱动器加密”对话框中,选择“重置已忘记的 PIN”。 如果登录的帐户不是管理员帐户,则此时必须提供管理凭据。
在“PIN 重置”对话框中,提供并确认要使用的新 PIN,然后选择“ 完成”。
下次需要解锁驱动器时,可以使用新的 PIN。
启动密钥丢失如果包含启动密钥的 USB 闪存驱动器已丢失,则必须使用恢复密钥解锁驱动器。 然后可以创建新的启动。防止因启动密钥丢失而继续恢复以管理员身份登录到丢失启动密钥的计算机。
打开“管理 BitLocker”。
选择“ 复制启动密钥”,插入将写入密钥的干净 U 盘,然后选择“ 保存”。
启动文件发生更改如果更新了固件,则会发生此错误。 最佳做法是,在对固件进行更改之前,应暂停 BitLocker。 固件更新完成后,应恢复保护。 暂停 BitLocker 可防止计算机进入恢复模式。 但是,如果在启用 BitLocker 保护时进行了更改,则恢复密码可用于解锁驱动器,并且将更新平台验证配置文件,以便下次不会进行恢复。Windows RE 和 BitLocker 设备加密Windows 恢复环境 (RE) 可用于恢复对受 BitLocker 驱动器加密保护的驱动器的访问。 如果电脑在两次故障后无法启动,则“启动修复”会自动启动。 当启动修复因启动失败而自动启动时,如果启动日志或任何可用的故障转储指向特定损坏的文件,则仅执行操作系统和驱动程序文件修复。 在 Windows 8.1 及更高版本中,包含用于支持 PCR[7] 特定 TPM 测量的固件的设备可以验证Windows RE是否为受信任的操作环境,并在未修改Windows RE时解锁任何受 BitLocker 保护的驱动器。 如果已修改Windows RE环境(例如 TPM 已禁用),则驱动器将一直处于锁定状态,直到提供 BitLocker 恢复密钥。 如果启动修复无法从电脑自动运行,而是从修复磁盘手动启动Windows RE,则必须提供 BitLocker 恢复密钥才能解锁受 BitLocker 保护的驱动器。Windows RE在使用 TPM + PIN 或 OS 驱动器保护程序的密码的设备上启动“从Windows RE删除所有内容重置”时,还会要求提供 BitLocker 恢复密钥。 如果在具有仅 TPM 保护的无键盘设备上启动 BitLocker 恢复,Windows RE(而不是启动管理器)将要求提供 BitLocker 恢复密钥。 输入密钥后,可以访问Windows RE故障排除工具,或者可以正常启动 Windows。Windows RE显示的 BitLocker 恢复屏幕具有辅助工具(如讲述人和屏幕键盘)来帮助输入 BitLocker 恢复密钥。 如果 Windows 启动管理器请求 BitLocker 恢复密钥,则这些工具可能不可用。若要在 Windows RE 中恢复 BitLocker 期间激活讲述人,请按 Windows + Ctrl + Enter。 若要激活屏幕键盘,请点击文本输入控件。BitLocker 恢复屏幕在 BitLocker 恢复期间,Windows 会显示自定义恢复消息和一些提示,用于标识可从何处检索密钥。 这些改进可在 BitLocker 恢复期间帮助用户。自定义恢复消息从 Windows 10 版本 1511 开始的 BitLocker 组策略设置允许在 BitLocker 恢复屏幕上配置自定义恢复消息和 URL。 自定义恢复消息和 URL 可以包括 BitLocker 自助恢复门户的地址、IT 内部网站或支持电话号码。可以使用 GPO 在“计算机配置”>“管理模板”>“Windows 组件”>“BitLocker 驱动器加密”>“操作系统驱动器”>“配置启动前恢复消息和 URL”下配置此策略。还可以使用移动设备管理 (MDM) (包括在 Intune 中使用 BitLocker CSP)配置它:<LocURI>./Device/Vendor/MSFT/BitLocker/SystemDrivesRecoveryMessage</LocURI>自定义恢复屏幕的示例:BitLocker 恢复密钥提示从 Windows 10 版本 1903 开始,BitLocker 元数据已得到增强,包括有关备份 BitLocker 恢复密钥的时间和位置的信息。 此信息不会通过 UI 或任何公共 API 公开。 它仅由 BitLocker 恢复屏幕以提示的形式使用,以帮助用户找到卷的恢复密钥。 提示将显示在恢复屏幕上,并引用保存密钥的位置。 提示将显示在新式(蓝色)和旧版(黑色)恢复屏幕上。 提示适用于启动管理器恢复屏幕和 WinRE 解锁屏幕。重要提示不建议打印恢复密钥或将其保存到文件。 请改为使用 Active Directory 备份或基于云的备份。 基于云的备份包括 Azure Active Directory (Azure AD) 和 Microsoft 帐户。按照处理) 的顺序,控制在恢复 (期间显示哪个提示的规则:如果已配置自定义恢复消息(使用 GPO 或 MDM),则始终显示该消息。
始终显示泛型提示: For more information, go to https://aka.ms/recoverykeyfaq.
如果卷上存在多个恢复密钥,请确定上次创建的 (的优先级,并成功备份) 恢复密钥。
让成功备份的密钥优先于从未备份的密钥。
按以下顺序对远程备份位置设置备份提示的优先级: Microsoft 帐户 > Azure AD > Active Directory。
如果已打印密钥并将其保存到文件中,则显示组合提示“查找带密钥的打印输出或文本文件”,而不是两个单独的提示。
如果针对同一恢复密钥执行了相同类型的多个备份 (删除与本地) ,请优先使用最新备份日期的备份信息。
对于保存到本地 Active Directory的密钥,没有具体的提示。 在这种情况下,如果配置) 或通用消息“联系组织的技术支持”,则会显示自定义消息 (。
如果磁盘上存在两个恢复密钥,但只有一个恢复密钥已成功备份,则系统会要求提供已备份的密钥,即使另一个密钥较新。
示例 1(具有单个备份的单个恢复密钥)自定义 URL

已保存到 Microsoft 帐户

已保存到 Azure AD

已保存到 Active Directory

已打印

已保存到文件

结果: 将显示 Microsoft 帐户和自定义 URL 的提示。示例 2(具有单个备份的单个恢复密钥)自定义 URL

已保存到 Microsoft 帐户

已保存到 Azure AD

已保存到 Active Directory

已打印

已保存到文件

结果:只显示自定义 URL。示例 3(具有多个备份的单个恢复密钥)自定义 URL

已保存到 Microsoft 帐户

已保存到 Azure AD

已保存到 Active Directory

已打印

已保存到文件

结果:只显示 Microsoft 帐户提示。示例 4 (多个恢复密码) 自定义 URL

已保存到 Microsoft 帐户

已保存到 Azure AD

已保存到 Active Directory

已打印

已保存到文件

创建时间
下午 1 点
密钥 ID
A564F193
自定义 URL

已保存到 Microsoft 帐户

已保存到 Azure AD

已保存到 Active Directory

已打印

已保存到文件

创建时间
下午 3 点
密钥 ID
T4521ER5
结果:只显示成功备份密钥的提示,即使它不是最新的密钥。示例 5 (多个恢复密码) 自定义 URL

已保存到 Microsoft 帐户

已保存到 Azure AD

已保存到 Active Directory

已打印

已保存到文件

创建时间
下午 1 点
密钥 ID
99631A34
自定义 URL

已保存到 Microsoft 帐户

已保存到 Azure AD

已保存到 Active Directory

已打印

已保存到文件

创建时间
下午 3 点
密钥 ID
9DF70931
结果:显示最新密钥的提示。除了 48 位 BitLocker 恢复密码之外,其他类型的恢复信息也存储在 Active Directory 中。 此部分介绍如何使用此附加信息。BitLocker 密钥包如果本文档前面讨论的恢复方法无法解锁卷,则可以使用 BitLocker 修复工具在块级别解密卷。 该工具使用 BitLocker 密钥包来帮助从严重损坏的驱动器恢复加密数据。 然后,即使正确的恢复密码无法解锁损坏的卷,恢复的数据也可用于挽救加密数据。 建议仍保存恢复密码。 如果没有相应的恢复密码,则无法使用密钥包。注意必须使用 BitLocker 修复工具 repair-bde.exe 才能使用 BitLocker 密钥包。默认情况下不保存 BitLocker 密钥包。 若要在 AD DS 中保存包以及恢复密码,必须在控制恢复方法的组策略设置中选择 “备份恢复密码和密钥包 ”选项。 密钥包也可以从工作卷导出。 有关如何导出密钥包的详细信息,请参阅 检索 BitLocker 密钥包。重置恢复密码建议在提供并使用恢复密码后将其失效。 如果已提供并使用恢复密码,或者出于任何其他有效原因,恢复密码可能会失效。恢复密码和 以两种方式失效和重置:使用 重置恢复密码 manage-bde.exe删除以前的恢复密码。
`manage-bde.exe` -protectors -delete C: -type RecoveryPassword
添加新的恢复密码。
`manage-bde.exe` -protectors -add C: -RecoveryPassword
获取新恢复密码的 ID。 从屏幕上复制恢复密码的 ID。
`manage-bde.exe` -protectors -get C: -Type RecoveryPassword
将新的恢复密码备份到 AD DS。
`manage-bde.exe` -protectors -adbackup C: -id {EXAMPLE6-5507-4924-AA9E-AFB2EB003692}
警告ID 字符串中必须包含大括号 {} 。
运行示例恢复密码脚本以重置恢复密码将以下示例脚本保存在 VBScript 文件中。 例如:
ResetPassword.vbs.
在命令提示符下,输入以下命令:
cscript.exe ResetPassword.vbs
重要提示此示例脚本配置为仅适用于 C 卷。 如有必要,请自定义脚本以匹配需要测试密码重置的卷。
注意若要管理远程计算机,请指定远程计算机名称,而不是本地计算机名称。以下示例 VBScript 可用于重置恢复密码:展开以查看用于重置恢复密码的示例恢复密码 VBscript' Target drive letter
strDriveLetter = "c:"
' Target computer name
' Use "." to connect to the local computer
strComputerName = "."
' --------------------------------------------------------------------------------
' Connect to the BitLocker WMI provider class
' --------------------------------------------------------------------------------
strConnectionStr = "winmgmts:" _
& "{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}!\\" _
& strComputerName _
& "\root\cimv2\Security\MicrosoftVolumeEncryption"
On Error Resume Next 'handle permission errors
Set objWMIService = GetObject(strConnectionStr)
If Err.Number <> 0 Then
WScript.Echo "Failed to connect to the BitLocker interface (Error 0x" & Hex(Err.Number) & ")."
Wscript.Echo "Ensure that you are running with administrative privileges."
WScript.Quit -1
End If
On Error GoTo 0
strQuery = "Select * from Win32_EncryptableVolume where DriveLetter='" & strDriveLetter & "'"
Set colTargetVolumes = objWMIService.ExecQuery(strQuery)
If colTargetVolumes.Count = 0 Then
WScript.Echo "FAILURE: Unable to find BitLocker-capable drive " &
strDriveLetter & " on computer " & strComputerName & "."
WScript.Quit -1
End If
' there should only be one volume found
For Each objFoundVolume in colTargetVolumes
set objVolume = objFoundVolume
Next
' objVolume is now our found BitLocker-capable disk volume
' --------------------------------------------------------------------------------
' Perform BitLocker WMI provider functionality
' --------------------------------------------------------------------------------
' Add a new recovery password, keeping the ID around so it doesn't get deleted later
' ----------------------------------------------------------------------------------
nRC = objVolume.ProtectKeyWithNumericalPassword("Recovery Password Refreshed By Script", , sNewKeyProtectorID)
If nRC <> 0 Then
WScript.Echo "FAILURE: ProtectKeyWithNumericalPassword failed with return code 0x" & Hex(nRC)
WScript.Quit -1
End If
' Removes the other, "stale", recovery passwords
' ----------------------------------------------------------------------------------
nKeyProtectorTypeIn = 3 ' type associated with "Numerical Password" protector
nRC = objVolume.GetKeyProtectors(nKeyProtectorTypeIn, aKeyProtectorIDs)
If nRC <> 0 Then
WScript.Echo "FAILURE: GetKeyProtectors failed with return code 0x" & Hex(nRC)
WScript.Quit -1
End If
' Delete those key protectors other than the one we just added.
For Each sKeyProtectorID In aKeyProtectorIDs
If sKeyProtectorID <> sNewKeyProtectorID Then
nRC = objVolume.DeleteKeyProtector(sKeyProtectorID)
If nRC <> 0 Then
WScript.Echo "FAILURE: DeleteKeyProtector on ID " & sKeyProtectorID & " failed with return code 0x" & Hex(nRC)
WScript.Quit -1
Else
' no output
'WScript.Echo "SUCCESS: Key protector with ID " & sKeyProtectorID & " deleted"
End If
End If
Next
WScript.Echo "A new recovery password has been added. Old passwords have been removed."
' - some advanced output (hidden)
'WScript.Echo ""
'WScript.Echo "Type ""manage-bde.exe -protectors -get " & strDriveLetter & " -type recoverypassword"" to view existing passwords."
检索 BitLocker 密钥包可以使用两种方法检索密钥包,如 使用其他恢复信息中所述:以下步骤和示例脚本从 AD DS 导出以前保存的所有密钥包。将以下示例脚本保存在 VBScript 文件中。 例如:GetBitLockerKeyPackageADDS.vbs。
在命令提示符下,输入类似于以下示例脚本的命令:
cscript.exe GetBitLockerKeyPackageADDS.vbs -?
以下示例脚本可用于创建 VBScript 文件,以从 AD DS 检索 BitLocker 密钥包:展开以查看从 AD DS 导出所有以前保存的密钥包的示例密钥包检索 VBscript' --------------------------------------------------------------------------------
' Usage
' --------------------------------------------------------------------------------
Sub ShowUsage
Wscript.Echo "USAGE: GetBitLockerKeyPackageADDS [Path To Save Key Package] [Optional Computer Name]"
Wscript.Echo "If no computer name is specified, the local computer is assumed."
Wscript.Echo
Wscript.Echo "Example: GetBitLockerKeyPackageADDS E:\bitlocker-ad-key-package mycomputer"
WScript.Quit
End Sub
' --------------------------------------------------------------------------------
' Parse Arguments
' --------------------------------------------------------------------------------
Set args = WScript.Arguments
Select Case args.Count
Case 1
If args(0) = "/?" Or args(0) = "-?" Then
ShowUsage
Else
strFilePath = args(0)
' Get the name of the local computer
Set objNetwork = CreateObject("WScript.Network")
strComputerName = objNetwork.ComputerName
End If
Case 2
If args(0) = "/?" Or args(0) = "-?" Then
ShowUsage
Else
strFilePath = args(0)
strComputerName = args(1)
End If
Case Else
ShowUsage
End Select
' --------------------------------------------------------------------------------
' Get path to Active Directory computer object associated with the computer name
' --------------------------------------------------------------------------------
Function GetStrPathToComputer(strComputerName)
' Uses the global catalog to find the computer in the forest
' Search also includes deleted computers in the tombstone
Set objRootLDAP = GetObject("LDAP://rootDSE")
namingContext = objRootLDAP.Get("defaultNamingContext") ' e.g. string dc=fabrikam,dc=com
strBase = "<GC://" & namingContext & ">"
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOOBject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
strFilter = "(&(objectCategory=Computer)(cn=" &
strComputerName & "))"
strQuery = strBase & ";" & strFilter
& ";distinguishedName;subtree"
objCommand.CommandText = strQuery
objCommand.Properties("Page Size") = 100
objCommand.Properties("Timeout") = 100
objCommand.Properties("Cache Results") = False
' Enumerate all objects found.
Set objRecordSet = objCommand.Execute
If objRecordSet.EOF Then
WScript.echo "The computer name '" &
strComputerName & "' cannot be found."
WScript.Quit 1
End If
' Found object matching name
Do Until objRecordSet.EOF
dnFound = objRecordSet.Fields("distinguishedName")
GetStrPathToComputer = "LDAP://" & dnFound
objRecordSet.MoveNext
Loop
' Clean up.
Set objConnection = Nothing
Set objCommand = Nothing
Set objRecordSet = Nothing
End Function
' --------------------------------------------------------------------------------
' Securely access the Active Directory computer object using Kerberos
' --------------------------------------------------------------------------------
Set objDSO = GetObject("LDAP:")
strPathToComputer = GetStrPathToComputer(strComputerName)
WScript.Echo "Accessing object: " + strPathToComputer
Const ADS_SECURE_AUTHENTICATION = 1
Const ADS_USE_SEALING = 64 '0x40
Const ADS_USE_SIGNING = 128 '0x80
' --------------------------------------------------------------------------------
' Get all BitLocker recovery information from the Active Directory computer object
' --------------------------------------------------------------------------------
' Get all the recovery information child objects of the computer object
Set objFveInfos = objDSO.OpenDSObject(strPathToComputer, vbNullString, vbNullString, _
ADS_SECURE_AUTHENTICATION + ADS_USE_SEALING + ADS_USE_SIGNING)
objFveInfos.Filter = Array("msFVE-RecoveryInformation")
' Iterate through each recovery information object and saves any existing key packages
nCount = 1
strFilePathCurrent = strFilePath & nCount
For Each objFveInfo in objFveInfos
strName = objFveInfo.Get("name")
strRecoveryPassword = objFveInfo.Get("msFVE-RecoveryPassword")
strKeyPackage = objFveInfo.Get("msFVE-KeyPackage")
WScript.echo
WScript.echo "Recovery Object Name: " + strName
WScript.echo "Recovery Password: " + strRecoveryPassword
' Validate file path
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists(strFilePathCurrent)) Then
WScript.Echo "The file " & strFilePathCurrent & " already exists. Please use a different path."
WScript.Quit -1
End If
' Save binary data to the file
SaveBinaryDataText strFilePathCurrent, strKeyPackage
WScript.echo "Related key package successfully saved to " + strFilePathCurrent
' Update next file path using base name
nCount = nCount + 1
strFilePathCurrent = strFilePath & nCount
Next
'----------------------------------------------------------------------------------------
' Utility functions to save binary data
'----------------------------------------------------------------------------------------
Function SaveBinaryDataText(FileName, ByteArray)
'Create FileSystemObject object
Dim FS: Set FS = CreateObject("Scripting.FileSystemObject")
'Create text stream object
Dim TextStream
Set TextStream = FS.CreateTextFile(FileName)
'Convert binary data To text And write them To the file
TextStream.Write BinaryToString(ByteArray)
End Function
Function BinaryToString(Binary)
Dim I, S
For I = 1 To LenB(Binary)
S = S & Chr(AscB(MidB(Binary, I, 1)))
Next
BinaryToString = S
End Function
WScript.Quit
运行示例密钥包检索脚本,该脚本从已解锁的加密卷导出新密钥包以下步骤和示例脚本从已解锁的加密卷中导出新的密钥包。将以下示例脚本保存在 VBScript 文件中。 例如:GetBitLockerKeyPackage.vbs
打开管理员命令提示符,然后输入类似于以下示例脚本的命令:
cscript.exe GetBitLockerKeyPackage.vbs
-?
展开以查看从已解锁的加密卷导出新密钥包的示例 VBscript' --------------------------------------------------------------------------------
' Usage
' --------------------------------------------------------------------------------
Sub ShowUsage
Wscript.Echo "USAGE: GetBitLockerKeyPackage [VolumeLetter/DriveLetter:] [Path To Save Key Package]"
Wscript.Echo
Wscript.Echo "Example: GetBitLockerKeyPackage C: E:\bitlocker-backup-key-package"
WScript.Quit
End Sub
' --------------------------------------------------------------------------------
' Parse Arguments
' --------------------------------------------------------------------------------
Set args = WScript.Arguments
Select Case args.Count
Case 2
If args(0) = "/?" Or args(0) = "-?" Then
ShowUsage
Else
strDriveLetter = args(0)
strFilePath = args(1)
End If
Case Else
ShowUsage
End Select
' --------------------------------------------------------------------------------
' Other Inputs
' --------------------------------------------------------------------------------
' Target computer name
' Use "." to connect to the local computer
strComputerName = "."
' Default key protector ID to use. Specify "" to let the script choose.
strDefaultKeyProtectorID = ""
' strDefaultKeyProtectorID = "{001298E0-870E-4BA0-A2FF-FC74758D5720}"
' sample
' --------------------------------------------------------------------------------
' Connect to the BitLocker WMI provider class
' --------------------------------------------------------------------------------
strConnectionStr = "winmgmts:" _
& "{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}!\\" _
& strComputerName _
& "\root\cimv2\Security\MicrosoftVolumeEncryption"
On Error Resume Next 'handle permission errors
Set objWMIService = GetObject(strConnectionStr)
If Err.Number <> 0 Then
WScript.Echo "Failed to connect to the BitLocker interface (Error 0x" & Hex(Err.Number) & ")."
Wscript.Echo "Ensure that you are running with administrative privileges."
WScript.Quit -1
End If
On Error GoTo 0
strQuery = "Select * from Win32_EncryptableVolume where DriveLetter='" & strDriveLetter & "'"
Set colTargetVolumes = objWMIService.ExecQuery(strQuery)
If colTargetVolumes.Count = 0 Then
WScript.Echo "FAILURE: Unable to find BitLocker-capable drive " &
strDriveLetter & " on computer " & strComputerName & "."
WScript.Quit -1
End If
' there should only be one volume found
For Each objFoundVolume in colTargetVolumes
set objVolume = objFoundVolume
Next
' objVolume is now our found BitLocker-capable disk volume
' --------------------------------------------------------------------------------
' Perform BitLocker WMI provider functionality
' --------------------------------------------------------------------------------
' Collect all possible valid key protector ID's that can be used to get the package
' ----------------------------------------------------------------------------------
nNumericalKeyProtectorType = 3 ' type associated with "Numerical Password" protector
nRC = objVolume.GetKeyProtectors(nNumericalKeyProtectorType, aNumericalKeyProtectorIDs)
If nRC <> 0 Then
WScript.Echo "FAILURE: GetKeyProtectors failed with return code 0x" & Hex(nRC)
WScript.Quit -1
End If
nExternalKeyProtectorType = 2 ' type associated with "External Key" protector
nRC = objVolume.GetKeyProtectors(nExternalKeyProtectorType, aExternalKeyProtectorIDs)
If nRC <> 0 Then
WScript.Echo "FAILURE: GetKeyProtectors failed with return code 0x" & Hex(nRC)
WScript.Quit -1
End If
' Get first key protector of the type "Numerical Password" or "External Key", if any
' ----------------------------------------------------------------------------------
if strDefaultKeyProtectorID = "" Then
' Save first numerical password, if exists
If UBound(aNumericalKeyProtectorIDs) <> -1 Then
strDefaultKeyProtectorID = aNumericalKeyProtectorIDs(0)
End If
' No numerical passwords exist, save the first external key
If strDefaultKeyProtectorID = "" and UBound(aExternalKeyProtectorIDs) <> -1 Then
strDefaultKeyProtectorID = aExternalKeyProtectorIDs(0)
End If
' Fail case: no recovery key protectors exist.
If strDefaultKeyProtectorID = "" Then
WScript.Echo "FAILURE: Cannot create backup key package because no recovery passwords or recovery keys exist. Check that BitLocker protection is on for this drive."
WScript.Echo "For help adding recovery passwords or recovery keys, enter ""manage-bde.exe -protectors -add -?""."
WScript.Quit -1
End If
End If
' Get some information about the chosen key protector ID
' ----------------------------------------------------------------------------------
' is the type valid?
nRC = objVolume.GetKeyProtectorType(strDefaultKeyProtectorID, nDefaultKeyProtectorType)
If Hex(nRC) = "80070057" Then
WScript.Echo "The key protector ID " & strDefaultKeyProtectorID & " is not valid."
WScript.Echo "This ID value may have been provided by the script writer."
ElseIf nRC <> 0 Then
WScript.Echo "FAILURE: GetKeyProtectorType failed with return code 0x" & Hex(nRC)
WScript.Quit -1
End If
' what's a string that can be used to describe it?
strDefaultKeyProtectorType = ""
Select Case nDefaultKeyProtectorType
Case nNumericalKeyProtectorType
strDefaultKeyProtectorType = "recovery password"
Case nExternalKeyProtectorType
strDefaultKeyProtectorType = "recovery key"
Case Else
WScript.Echo "The key protector ID " & strDefaultKeyProtectorID & " does not refer to a valid recovery password or recovery key."
WScript.Echo "This ID value may have been provided by the script writer."
End Select
' Save the backup key package using the chosen key protector ID
' ----------------------------------------------------------------------------------
nRC = objVolume.GetKeyPackage(strDefaultKeyProtectorID, oKeyPackage)
If nRC <> 0 Then
WScript.Echo "FAILURE: GetKeyPackage failed with return code 0x" & Hex(nRC)
WScript.Quit -1
End If
' Validate file path
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists(strFilePath)) Then
WScript.Echo "The file " & strFilePath & " already exists. Please use a different path."
WScript.Quit -1
End If
Dim oKeyPackageByte, bKeyPackage
For Each oKeyPackageByte in oKeyPackage
'WScript.echo "key package byte: " & oKeyPackageByte
bKeyPackage = bKeyPackage & ChrB(oKeyPackageByte)
Next
' Save binary data to the file
SaveBinaryDataText strFilePath, bKeyPackage
' Display helpful information
' ----------------------------------------------------------------------------------
WScript.Echo "The backup key package has been saved to " & strFilePath & "."
WScript.Echo "IMPORTANT: To use this key package, the " & strDefaultKeyProtectorType & " must also be saved."
' Display the recovery password or a note about saving the recovery key file
If nDefaultKeyProtectorType = nNumericalKeyProtectorType Then
nRC = objVolume.GetKeyProtectorNumericalPassword(strDefaultKeyProtectorID, sNumericalPassword)
If nRC <> 0 Then
WScript.Echo "FAILURE: GetKeyProtectorNumericalPassword failed with return code 0x" & Hex(nRC)
WScript.Quit -1
End If
WScript.Echo "Save this recovery password: " & sNumericalPassword
ElseIf nDefaultKeyProtectorType = nExternalKeyProtectorType Then
WScript.Echo "The saved key file is named " & strDefaultKeyProtectorID & ".BEK"
WScript.Echo "For help re-saving this external key file, enter ""manage-bde.exe -protectors -get -?"""
End If
'----------------------------------------------------------------------------------------
' Utility functions to save binary data
'----------------------------------------------------------------------------------------
Function SaveBinaryDataText(FileName, ByteArray)
'Create FileSystemObject object
Dim FS: Set FS = CreateObject("Scripting.FileSystemObject")
'Create text stream object
Dim TextStream
Set TextStream = FS.CreateTextFile(FileName)
'Convert binary data To text And write them To the file
TextStream.Write BinaryToString(ByteArray)
End Function
Function BinaryToString(Binary)
Dim I, S
For I = 1 To LenB(Binary)
S = S & Chr(AscB(MidB(Binary, I, 1)))
Next
BinaryToString = S
End Function
BitLocker 概述

胖鱼游戏
2018-10-26 19:41
0
打开网易新闻 查看精彩图片
sefd牛仔、左轮枪、歹徒、警长、马匹、仙人掌、酒馆、荒漠、篷车、印地安人……看到这些关键词,你的脑海中是不是已经浮现那个可以看得到地平线的蛮荒原野,那个具有传奇色彩的牛仔形象和那个跃马驰骋持枪格斗的西部世纪。《荒野大镖客:救赎2》这款以美国西部拓荒史为题材的动作冒险游戏将在今日(2018年10月26日)正式发售!喜欢西部元素的玩家千万不要错过!
打开网易新闻 查看精彩图片
◆◆ 游戏介绍 ◆◆《荒野大镖客:救赎2》是一款由《GTA5》、《荒野大镖客:救赎》团队Rockstar San Diego工作室发行的一款以美国西部拓荒史为题材的动作冒险游戏,为2010年该公司发行的《荒野大镖客:救赎》的正统续作。本作的故事地点仍将是美国无情的蛮荒地区,R星创始人Sam Houser表示制作团队倾尽全力为玩家去打造一个“真实的、栩栩如生的”世界,而且本作将会给大家带来全新的线上模式体验。
打开网易新闻 查看精彩图片
◆◆ 精致动人的故事背景线 ◆◆《荒野大镖客:救赎2》有长达60个小时的主线剧情。主线故事剧本终稿有大约2000页。游戏共动用了1200名美国工会演员,其中700人拥有对话。针对《荒野大镖客 救赎2》,Rockstar 进行了大量打磨、重写剧本和重新剪辑的工作。游戏最终包含30万个动画镜头,50万条对话和更多的代码。所有辛勤的劳动共同造就了这个无缝自然的游戏体验,而这一切都发生在这个看起来真实的,取材于美国荒野的互动世界中。
打开网易新闻 查看精彩图片
从剧情线上来说,《荒野大镖客:救赎2》是一部前传故事,在本作中你可以体验到约翰叱咤江湖的那段故事。在游戏中,玩家将扮演金盆洗手的原帮派份子约翰玛斯顿(John Marston),在历经多年与凶恶荷兰黑帮厮混的犯罪生涯后,约翰想为自己及家人寻求平静的生活而退出了帮派,度过3年平静的生活。不过来自联邦政府调查局干员的最后通牒彻底粉碎了约翰的生活,为了猎杀昔日伙伴的3名帮派份子,调查局以约翰妻儿的人身安全逼迫他重回西部荒野,自此展开曲折晦暗的故事剧情。◆◆ 自由无界限的开放世界 ◆◆荒野大镖客2有着动人的故事,玩家将沉浸于一个真实可信的世界中,游戏故事将会非常吸引人,但玩家也被赋予了自由,他们可以自由行动,然后以很自然的方式回到主线任务。抹去游戏不同部分的界限,将他们彼此连贯融合,有机地组织在一起。游戏中的一切都必须显得自然,不能有任何突兀或者拖拉,从而增强游戏的沉浸感以及每一个任务之间的联系。
打开网易新闻 查看精彩图片
◆◆ 与NPC的动态互动 ◆◆在营地的时候,与NPC的一次简单的对话就可以导致一桩银行劫案或者揭示出关于游戏故事和背景的重要内容,而它还将会触发新的任务,而玩家此时也可以选择继续做新任务或者之后有空再做。当玩家离开营地去寻找物资时,他也将会发现很多有趣的事情或者一些其他的任务目标。
打开网易新闻 查看精彩图片
◆◆ 赋予玩家自由选择权 ◆◆游戏中的黑帮需要钱,所以玩家必须要进行各种任务,比如抢劫银行,截击火车,偷盗,狩猎,也要做二道贩子。除了游戏的任务以外,你还会有1001种赚钱的方式,有正义的方式,也有不那么光彩的方式,玩家可以按照自己的喜好来。你可以杀死别人获得他们的钱财,你也可以不那么暴力,只是威胁一下他们然后获得金钱。
打开网易新闻 查看精彩图片
◆◆ 精妙的战斗系统 ◆◆游戏的战斗系统则一方面延续了《GTA5》中掩体射击的手感精髓,另一方面又恰如其分地加入了初代《荒野大镖客》标志性的“死亡之眼”系统。游戏中精彩的击杀瞬间,还会给出慢动作特写镜头。在这个过程中,你既能享受流畅且快节奏的战斗,又绝不会错过最精彩、最热血的瞬间。近身搏斗系统则出现了一定程度的进化,招式变得动作更加丰富,进攻和防守节奏也变得更有深度。毫无疑问,《荒野大镖客2》的战斗系统是R星游戏迄今为止的集大成者。
打开网易新闻 查看精彩图片
◆◆总结 ◆◆《荒野大镖客:救赎2》媒体评分目前已经正式解禁,各个媒体都给出了自己的评价,结合了59家媒体的评分,其中给出好评的有58家,仅一家媒体给出中评,成绩已足够震撼。而Xbox One版综合了22家媒体的评分,均为好评,目前均分98。
打开网易新闻 查看精彩图片
《荒野大镖客:救赎2》旨在为玩家打造一个充满活力、可以呼吸的世界,它已经成为R星最深刻、最具沉浸式体验的游戏作品。也因此被广大玩家誉为当代最伟大的游戏之一。在广袤蛮荒的美国腹地上,你是会成为一名侠盗劫富济贫,成为市井之中的神话?还是成为一名穷凶极恶的恶棍,常常出没于悬赏单之上? 加入这个跌宕起伏的西部世界吧,和西部牛仔一起体会别样人生!
打开网易新闻 查看精彩图片
胖鱼游戏
打开网易新闻 查看精彩图片
更多游戏攻略《黑暗之魂3》空洞骑士《人渣(SCUM)》《太吾绘卷》
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
温馨提示点击下方“阅读原文”,立刻进入胖鱼游戏
特别声明:本文为网易自媒体平台“网易号”作者上传并发布,仅代表该作者观点。网易仅提供信息发布平台。

我要回帖

更多关于 gta5线下无限代码 的文章

 

随机推荐