EFS加密解密----重装系统后
重装系统尤其是格式化重装系统之后,如果没有正确地备份私钥,那么加密的文件将无法打开,加密的文件也暂时没有办法进行快速破解。
并非重装后用相同用户名+密码就可以解密的。
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加密解密----重装系统后的更多相关文章
- 电脑重装系统后如何恢复Mysql数据库
电脑重装系统后如何恢复Mysql数据库 一.[设置mysql的path]
- paip.重装系统后firefox火狐收藏夹的恢复
paip.重装系统后firefox火狐收藏夹的恢复 1.使用procmon跟踪ff保存收藏时候的读写文件.. D:\Users\attilax\AppData\Roaming\Mozilla\Fire ...
- 华硕本本重装系统后出现can not open file c:\RECOVERY.DAT
华硕本本重装系统后出现can not open file c:\RECOVERY.DAT很多网友会觉得困惑,不知道为什么会这样,下面我就为大家来解决这个问题,方法一: 这个问题就出在华硕自带系统都是装 ...
- oracle 数据恢复,只有oradata文件夹里的文件,没有备份文件的数据库恢复,重装系统后,oracle 10g数据库恢复
格式化重装系统后,才想起来oracle 10g 数据库没有做备份,开始以为很麻烦,没想到数据库恢复的还挺顺利的 恢复方法: 1,把原来的数据库文件备份,(D:\oracle\product\10.2. ...
- 重装系统后QQ聊天记录恢复方法
重装系统后QQ聊天记录恢复方法 近日又一次安装了系统,又一次安装了腾讯的.TM,TM也是安装在之前的文件夹底下,可是聊天记录和之前的自己定义表情都不见了,看来没有自己主动恢复回来. 我这里另一个特殊的 ...
- Linux重装系统后SSH登录失败
#Linux重装系统后SHH登录服务器报错 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE H ...
- vmware重装系统后虚拟机实例文件*.vmdk重用
如题:vmware重装系统后自定义的:虚拟机名称*.vmdk文件重用. 一.问题描述 系统磁盘坏道,装不上系统直接换了硬盘,但是新装的Vmware不能够通过open方式打开“自定义*.vmdk”(这个 ...
- 重装系统后搭建php环境
重装系统后,不需要重新下载php,apache,mysql的程序包,只需要在命令行重新安装即可. 1.安装apache: 打开命令行 cd 程序目录\bin httpd -k install 按ent ...
- 电脑重装系统后如何恢复 Mysql 数据库
电脑重装系统后如何恢复 Mysql 数据库 一.[设置mysql的path] 比如:我的mysql在:D:\DataBase\mysql-5.7.13-winx64,可以在环境变量中重新新建一个环境变 ...
随机推荐
- svn服务配置和日常维护命令
Subversion独立服务和与apache整合服务. 一 .Svn独立服务安装 操作系统: Redhat Linux AS3 AS 4 ContOS AS 4 安装包获取: 下载[url]ht ...
- C#抽象类、抽象方法、虚方法
定义抽象类和抽象方法: abstract 抽象类特点: 1.不能初始化的类被叫做抽象类,它们只提供部分实现,但是另一个类可以继承它并且能创建它们的实例 2.一个抽象类可以包含抽象和非抽象方法,当一个类 ...
- ceph命令
chen@admin-node:~$ ceph --help General usage: ============== usage: ceph [-h] [-c CEPHCONF] [-i INPU ...
- Python强化训练笔记(三)——词频的统计
现有列表如下: [6, 7, 5, 9, 4, 1, 8, 6, 2, 9] 希望统计各个元素出现的次数,可以看作一个词频统计的问题. 我们希望最终得到一个这样的结果:{6:2, 7:1...}即 { ...
- PHP检测移动设备类mobile detection使用实例
目前,一个网站有多个版本是很正常的,如PC版,3G版,移动版等等.根据不同的浏览设备我们需要定向到不同的版本中.不仅如此,我们有时候还需要根据不同的客户端加载不同的CSS,因此我们需要能够检测浏览设备 ...
- Ajaxupload.js上传插件使用
注意一下火狐,360IE78下的坑: 返回过来的response在不同浏览器下的字符串不一致 // response(chrome):<pre style="word-wrap: br ...
- 在项目里交叉使用Swift和OC【转】
Swift and Objective-C in the Same Project在项目里交叉使用Swift和OC Swift与OC的兼容性使得你可以在项目里使用Swift+OC的方式编写应用程序,称 ...
- Python开发【第七章】:Python异常处理
一.异常处理 1.异常基础 在编程过程中为了增加友好性,在程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面,通俗来说就是不让用户看见大黄页!!! #异常处理 list = [&qu ...
- Synchronized 个人深解
1.synchronized方法相当于synchronized(this) Synchronized 方法是锁的当前对象,同一个对象的2个synchronized方法被2个线程调用会发生 ...
- ios每日一发--仿侧边抽屉效果
效果图如下 代码实现以及思路下面分析: 代码创建导航控制器 Appdelegate.m中 #import "AppDelegate.h" #import "ViewCon ...