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,可以在环境变量中重新新建一个环境变 ...
随机推荐
- CacheManagerUtils.java
package com.vcredit.framework.utils; import net.sf.ehcache.Cache;import net.sf.ehcache.CacheManager; ...
- js中的text(),html() ,val()的区别
js中的text(),html() ,val()的区别 text(),html() ,val()三个方法用于html元素的存值和取值,但是他们各有特点,text()用于html元素文本内容的存取,ht ...
- Session 知识点再整理(一)基本概念和原理
Session 的概念 Session 和 Cookie 一样,也是针对 HTTP 的局限性而提出的一种保持客户端和服务器端会话连接状态的机制. Session 被称为会话,指用户在进入网站到浏览器关 ...
- fuelux.tree用法
ACE中带了一个树,样式和操作挺好看的,就是难用,下面记录下如何使用. 首先fuelux.tree接受的数据源是Json,关键这个Json还不怎么标准,可接受的Json示例如下: { '刑侦': { ...
- SSD果然劲爆!
前两周入手了一块浦科特128G盘,不说多了,有图为证 以前把机械盘放在主硬盘位的时候,鲁大师显示是SATA II接口,现在把SSD放在主硬盘位,显示居然是SATA III接口了,看上面测试,确实是II ...
- Eclipse Memory Analyzer,内存泄漏插件,安装使用一条龙
网上文档很多,但最初都有问题.整理一份,作为备份.使用过程:开发代码写完后,对可能出现内存溢出的代码,添加配置文件,生成.hprof文件,用memory Analyzer分析排查问题,且泄漏内存大小可 ...
- Java 并发性和多线程
一.介绍 在过去单 CPU 时代,单任务在一个时间点只能执行单一程序.之后发展到多任务阶段,计算机能在同一时间点并行执行多任务或多进程.虽然并不是真正意义上的“同一时间点”,而是多个任务或进程共享一个 ...
- C#调用杀毒软件MSE扫描指定目录或文件
有这样的需求,对外网文件传到服务器上时,对文件扫描是否含有病毒.微软自己的杀毒软件MSE实现了提供了命令行调用,方便我们集成到C#开发的程序里面. 命令如下: -file "E:\t&quo ...
- wampserver---------如何让局域网其他电脑访问我的apache
wamp版本:wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b 修改方式,看图:修改完记得重启.
- 怎么理解Android版本兼容???
程序中设置了minSdkVersion和targetSdkVersion如下: <uses-sdk android:minSdkVersion="8" android:tar ...