本来要写一段前言的讲一下事情的经过的,最后决定删除,直接进入主题“恢复重装系统后的EFS加密文件”(PS:我在网上基本没搜到有意义的教程,基本上都是有偿恢复的广告。如果你看了这篇文章还是不懂,那只能花大价钱去找人恢复了!)
EFS解密分为两种情况:(注意!我是在虚拟机XP系统环境下,7/8/10修改SID可能蓝屏!以下图片我是在本机上截的图,实际操作不是WIN7系统哦!)
1)有备份过相关的系统文件:
如果你备份过“用户(USER)文件夹”的话,那么恭喜你,离恢复更进一步了。你只需要找到这三个文件夹,分别是“公钥”、“私钥”、“加密后主密钥”。以下列举我的电脑中这三个文件夹的具体路径(请你举一反三,不要问为什么把路径复制到你的电脑上没有这个文件夹)。
公钥:C:\Users\pc\AppData\Roaming\Microsoft\Crypto\RSA (PC是我电脑账户名,把他替换成你当时登陆后进行EFS加密的账户,下同)
私钥:C:\Users\pc\AppData\Roaming\Microsoft\SystemCertificates\My\Certificates
加密后主密钥:C:\Users\pc\AppData\Roaming\Microsoft\Protect
在这三个文件夹下,有一串以数字命名的文件夹名字,这个非常重要!!(这就是你旧电脑的唯一标识码),例如我的是:S-1-5-21-1087013027-1066046109-1104206605-1005,后面1005是我的RID,SID是前面的部分。
使用微软小工具“Newsid”把你重装后电脑的SID改成你之前电脑的SID进行一个伪装(我就不提供下载地址了,自行百度)。打开小工具之后,点击“Next >”进入修改SID的界面:
选择“Specify SID”,意思就是指定一个SID,输入完之后点击“Next >”更改即可。
这样,我的SID就更改成重装前的样子了,伪装成功!我来查看一下有无更改成功,打开CMD,输入“whoami /user”。
确定更改成功后,再准备获取system权限。因为修改HKEY_LOCAL_MACHINESAM需要system用户权限。所以这里我们使用微软提供的psexec工具,在开始菜单的运行中输入cmd命令并回车,打开命令提示符窗口。输入“c: psexec -i -d -s %windir% regedit.exe”,以system用户身份运行注册表编辑器。
修改注册表键值。定位到HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account,找到并打开F键值。因为注册表中键值数据是用16进制形式存放的,而且是反转形式保存。
所以在这里我们需要这样做:我们要修改的RID是1005,1005转换为16进制是03ED,翻转过来就是ED03。数据的进制转换可以百度“在线进制转换”(例如1005是十进制的,你转成16进制就可以了)。如果转换出来的数据是3位数例如3ED,则需要在前面补一个0变成4位数03ED。找到对应的0048偏移量,把数值修改为我们上面推算出来的数值。
我这边新建了一个“SAM测试”进行演示,我们将刚刚得到的数值数据“ED03”(反转后)修改到0048偏移量的位置,然后在扩展为4个字节,也就是“ED 03 00 00”,如图所示。
依次重启电脑-->新建一个同名账户,密码也一样-->用新建用户登录系统,使用EFS随便加密一个文件,然后注销或者重启更换管理员账户登录-->把恢复出来的文件复制到对应文件夹-->重启。当再用新建用户登录的时候,就可以正常解密文件了。
2)没有备份过相关的系统文件:
这个就比较麻烦了,你需要用工具或者找电脑店的人进行恢复数据操作。也就是恢复你重装前C盘EFS相关的文件,这个难度也是比较大的!如果你完全不懂,建议你去电脑店找专业的人帮你操作。如果你之前有过相关的经验,可以使用“easyrecovery”、“finaldata”等工具进行操作。然后恢复上述的三个文件夹即可,当然三个文件夹内的数据都能恢复更好,因为你不知道你加密后自动生成的密钥到底是哪个文件,只能靠“修改日期”(也相当于你的加密日期)来进行测试!
如果运气好恢复回来了,恭喜你!再回到第一部分“有备份过相关的系统文件”进行操作
3)使用工具暴力破解:
比较常用的“H-EFSRecovery”与“EFS KEY”,工具就不多介绍了,你自己去一个个文件的试吧!
结束:
整个流程下来对于小白而言,相当复杂。如果你想操作解密,建议你把加密过的文件所在的盘进行备份,然后恢复到其他电脑中操作(我在virtualbox虚拟机中测试会出问题,所以建议到其他实体电脑中测试);如果你想找淘宝或者电脑店的人解密,而且你文件很多的话,提前准备好大量的money,到时候报价的时候克制住自己的眼泪..