重装系统尤其是格式化重装系统之后,如果没有正确地备份私钥,那么加密的文件将无法打开,加密的文件也暂时没有办法进行快速破解。

并非重装后用相同用户名+密码就可以解密的。

Advanced EFS Data Recovery这个软件对格式化重装系统后恢复EFS文件没有任何效果。

把NTFS分区转换成FAT32分区无效。

私钥不是在刚做完系统时产生,而是第一次加密时产生,所以加密完再用GHOST还原为刚做完系统时,肯定丢失私钥。

EFS加密恢复的关键

加密过的文件的名称在电脑中显示为绿色。私钥是第一次使用加密的时候随机产生。

备份私钥的方法如下:开始菜单的运行中输入certmgr.msc并回车→个人→证书→选择证书→点击右键,选择”所有任务”→导出→选择”导出私钥”。接下来按照向导操作即可。当需要恢复证书(私钥)的时候,双击导出来的文件,输入之前设置的密码按向导导入就可以了。

恢复的关键有三点:(建议在恢复过程中尝试把所有的用户文件夹C:\Documents and Settings\Administrator\Application Data里的东西全部恢复出来.)
第一、获得公钥和公钥证书、私钥保存的文件、主密钥文件;
第二、知道原来用户的密码和用户名;
第三点、知道原来用户的SID+RID

私钥保存在
C:\Documents and Settings\Administrator\Application Data\Microsoft\Crypto\RSA
公钥和公钥证书保存在
C:\Documents and Settings\Administrator\ApplicationData\Microsoft\SystemCertificates\My\Certificates
加密后的主密钥保存在
C:\Documents and Settings\Administrator\Application Data\Microsoft\Protect

找回关键的文件和文件夹

知道加密的文件不能打开之后,应该马上关机,然后进入PE环境。在这个环境里使用数据恢复工具把需要的文件给找回来。如果电脑比较老,可以使用老毛桃或者深山红叶的PE,如果电脑比较新,可能需要附加驱动包或者寻找网友制作的新版工具PE,有兴趣可以到无忧启动寻找。而数据恢复工具则可以直接找它们的绿色版放在U盘上,在PE里直接运行它们的主程序即可进行恢复工作。恢复工具可以使用easyrecovery、finaldata、r-studio、Winhex等等,本文用easyrecovery作为讲解的例子,如果你在实际恢复过程中,发现文件找不到或者找到的文件是坏的,那么请换另一个软件试试看。

用U盘引导进入pe环境,直接运行U盘上的easyrecovery主程序。在easyrecovery主界面中选择”数据恢复”→格式化恢复→选择分区→点击”下一步”。等待扫描和目录构建完成。在找到的文件中,根据目录树把前面提到的几个文件夹全部恢复出来放置到U盘中,另外还要记下私钥C:\Documents and Settings\Administrator\Application Data\Microsoft\Crypto\RSA”文件夹的名称。如果目录树中找不到文件夹,那么请进入”Lostfile”文件夹,在里面的”DIR*”文件夹中逐一寻找。或者使用”查找”功能查找”Crypto”关键词。但是我觉得这个查找功能不够强大,如果”查找”功能查找不到的话,建议大家还是手动找一次吧,别轻易放弃。而且需要提醒大家的是,如果找到多个文件,可以通过”日期”判断需要恢复哪一个。

回忆用户名和密码或者问当事人要原来的用户名和密码。

构造一个可以解密文件的用户,解密被加密文件

如果你对系统有”洁癖”不愿意增加任何多余的文件和垃圾配置,那么可以在进行这一步之前对当前系统做一个GHOST备份。

例如私钥为:,SID是前面的部分,后面的1003是RID

一、构造SID,这里我们用微软提供的一个小工具来改变SID,工具的名称叫做Newsid。程序之后,先同意协议,然后一路下一步直到”Choose a SID”;这里选择”Specify”下面输入需要修改的SID,之后继续”Next”,完成之后自动重启系统,SID就修改好了。提醒一下,如果只是删除了用户而不是重装系统的话,可以跳过这一步,因为SID本来就是一样的。

二、获得system权限。因为修改HKEY_LOCAL_MACHINESAM需要system用户权限。所以这里我们使用微软提供的psexec工具,在开始菜单的运行中输入cmd命令并回车,打开命令提示符窗口。之后使用CD命令定位到psexec所在的目录或者直接以绝对路径例如c:psexec -i -d -s %windir%\regedit.exe这样的命令以system用户身份运行注册表编辑器。

小知识:Windows新建用户的RID值由HKEY_LOCAL_MACHINESAMSAMDomainsAccount注册表项的”F”键值确定。具体的说是在0048偏移量的4个字节,是二进制数据。通过修改这个数据可以让新建用户拥有一样的RID。也就是说我们要指定的RID需要通过新建用户实现。

三、修改注册表键值。定位到HKEY_LOCAL_MACHINESAMSAMDomainsAccount,找到并打开F键值。因为注册表中键值数据是用16进制形式存放的,而且是反转形式保存。所以在这里我们需要这样做:我们要修改的RID是1003,1003转换为16进制是03EB,翻转过来就是EB03。数据的进制转换可以使用Windows自动的”计算器”转换,别以为这东西没用哦。如果转换出来的数据是3位数例如3EB,则需要在前面补一个0变成4位数03EB。找到对应的0048偏移量,把数值修改为我们上面推算出来的数值。
四、依次:①重启更换管理员账户登录→使用EFS随便加密一个文件(目的就是产生私钥、公钥、主钥的文件夹)→把恢复出来的文件复制到对应文件夹→重启。-----亲测可行。

或者:②重启电脑→新建一个同名账户,密码也一样→用新建用户登录系统,使用EFS随便加密一个文件(目的就是产生私钥、公钥、主钥的文件夹),然后注销。

就可以正常解密文件了。

EFS加密解密----重装系统后的更多相关文章

  1. 电脑重装系统后如何恢复Mysql数据库

    电脑重装系统后如何恢复Mysql数据库 一.[设置mysql的path]

  2. paip.重装系统后firefox火狐收藏夹的恢复

    paip.重装系统后firefox火狐收藏夹的恢复 1.使用procmon跟踪ff保存收藏时候的读写文件.. D:\Users\attilax\AppData\Roaming\Mozilla\Fire ...

  3. 华硕本本重装系统后出现can not open file c:\RECOVERY.DAT

    华硕本本重装系统后出现can not open file c:\RECOVERY.DAT很多网友会觉得困惑,不知道为什么会这样,下面我就为大家来解决这个问题,方法一: 这个问题就出在华硕自带系统都是装 ...

  4. oracle 数据恢复,只有oradata文件夹里的文件,没有备份文件的数据库恢复,重装系统后,oracle 10g数据库恢复

    格式化重装系统后,才想起来oracle 10g 数据库没有做备份,开始以为很麻烦,没想到数据库恢复的还挺顺利的 恢复方法: 1,把原来的数据库文件备份,(D:\oracle\product\10.2. ...

  5. 重装系统后QQ聊天记录恢复方法

    重装系统后QQ聊天记录恢复方法 近日又一次安装了系统,又一次安装了腾讯的.TM,TM也是安装在之前的文件夹底下,可是聊天记录和之前的自己定义表情都不见了,看来没有自己主动恢复回来. 我这里另一个特殊的 ...

  6. Linux重装系统后SSH登录失败

    #Linux重装系统后SHH登录服务器报错 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE H ...

  7. vmware重装系统后虚拟机实例文件*.vmdk重用

    如题:vmware重装系统后自定义的:虚拟机名称*.vmdk文件重用. 一.问题描述 系统磁盘坏道,装不上系统直接换了硬盘,但是新装的Vmware不能够通过open方式打开“自定义*.vmdk”(这个 ...

  8. 重装系统后搭建php环境

    重装系统后,不需要重新下载php,apache,mysql的程序包,只需要在命令行重新安装即可. 1.安装apache: 打开命令行 cd 程序目录\bin httpd -k install 按ent ...

  9. 电脑重装系统后如何恢复 Mysql 数据库

    电脑重装系统后如何恢复 Mysql 数据库 一.[设置mysql的path] 比如:我的mysql在:D:\DataBase\mysql-5.7.13-winx64,可以在环境变量中重新新建一个环境变 ...

随机推荐

  1. Unity UGUI HUD 怪物血条实现

    首先做一个血条,创建一个名为Follow3DObject的脚本添加到血条控件上. Follow3DObject.cs的代码如下: using UnityEngine; using System.Col ...

  2. # 20145334赵文豪 《Java程序设计》第7周学习总结

    20145334赵文豪 <Java程序设计>第7周学习总结 教材学习内容总结 第十三章 时间与日期 13.1.1时间的度量 1.格林威治时间(GMT):参考太阳到达最高点,有时间误差. 2 ...

  3. Android课程---进度条及菜单的学习

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  4. php初学第一课

    php:强大的脚本语言 B/S:brower:浏览器 server:服务器 C/S: client:客户端 server:服务器 一.php嵌入页面的标记 1. <?php    ?> # ...

  5. javascript 隐性类型转换步骤

    这里说的隐性类型转换,是==引起的转换. 如果存在NaN,一律返回false 再看有没有布尔,有布尔就将布尔转换为数字 接着看有没有字符串, 有三种情况,对方是对象,对象使用toString进行转换: ...

  6. js Memoization 优化运行速度

    项目中需要用到 大计算量 耗时的js运算. Memoize 是一个优化方法 ,对耗时的递归运算,漫长的查找运算的结果进行缓存,使运行时间最小化 原理是缓存先前的结果计算值从而可以避免需要重新计算   ...

  7. c# word 转pdf 导出失败,因为此功能尚未安装

    savePDF应该是office2007以上的版本才支持的,而且必须是完整版的office. 如果2007提示这个错误,还需要安装一个插件 http://download.microsoft.com/ ...

  8. freemarker学习

    链接: http://swiftlet.net/archives/category/freemarker

  9. Thread Safe(线程安全)和None Thread Safe(NTS,非线程安全)之分

    Windows版的PHP从版本5.2.1开始有Thread Safe(线程安全)和None Thread Safe(NTS,非线程安全)之分,这两者不同在于何处?到底应该用哪种?这里做一个简单的介绍. ...

  10. IOS开始对App Store大扫除:你的APP更新了吗?

    成都亿合科技小编从北京商报了解到,对于开发APP应用的要注意啦,IOS要开始对App Store大扫除:你的APP更新了吗? 日前苹果App Store的开发者们发送邮件,表示将实施一个持续评估应用行 ...