最近因有客户遇到EFS文件被加密的情况;粗略的研究了下。网上大多讲一些费话,也没有真正讲重点;我这里给大家收集总结下。
一:有密匙
1.1 知道密匙路径的的话直接用网上的方法恢复即可。
1.2 如果不知道密匙在哪,但是记得备份了密匙,可以用Advance EFS Data Recovery 这款软件来搜索密匙(该软件也只是帮你找密匙
而已,并非能解密,使用方法上网查找)
二:无密匙
2.1 前言
后面讲到的任何步骤都基于这建立在这3个条件的基础上,否则你的文件就报废了。
①、获得公钥和公钥证书、私钥保存的文件、主密钥文件;
Win Xp路径位置:
私钥保存在
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
Win7 及Win7以上系统路径位置:
私钥保存在
C:\Users\Administrator\AppData\Roaming\Microsoft\Crypto\RSA
公钥和公钥证书保存在
C:\Users\Administrator\AppData\Roaming\Microsoft\SystemCertificates\My\Certificates
加密后的主密钥保存在
C:\Users\Administrator\AppData\Roaming\Microsoft\Protect
②、知道原来用户的密码和用户名;
③、知道原来用户的SID+RID(如果是内置Administrator用户,则无需RID)
RID的作用:新建用户的时候系统取SID+RID来标识这个新用户,所以内置帐号无需RID
2.2 以系统被重装讲解,XP为例,Win7及以上系统同理
①、马上终止使用电脑(不要再对硬盘进行写操作);以下操作请在另一块硬盘上进行,请误再对原硬盘进行操作,当然数据恢复
必须得读原硬盘。
②、使用数据恢复软件恢复公钥和公钥证书、私钥保存的文件、主密钥文件(文件位置看 前言)
③、假设 第②步的文件恢复成功,也知道原来的用户和密码。
再另一硬盘安装好系统;
用管理员Administrator登陆。
④、怎么知道原来用户的SID+RID?
直接在②中恢复的私钥文件夹中找到 如图:
可查看原硬盘中的任意文件看看是否有未知用户 如图:
例如私钥为 S-1-5-21-789336058-1123561945-1606980848-1005 , SID前面部份,后面部份1005是RID
⑤、构造SID
适用XP,Win7以上系统可联系本站有偿解决
这里我们用微软提供的一个小工具来改变SID,工具的名称叫做Newsid。程序之后,先同意协议,
然后一路下一步直到”Choose a SID”; 这里选择”Specify”下面输入需要修改的SID,之后
继续”Next”,完成之后自动重启系统,SID就修改好了。
提醒一下,如果只是删除了用户而不是重装系统的话,可以跳过这一步,因为SID本来就是一样的。
修改RID值以备新建用户使用(如果原先系统用的就是内置Administrator用户,则忽略此步)
这里我们使用微软提供的psexec工具,在开始菜单的运行中输入cmd命令并回车,打开命令提示符窗口。
之后使用CD命令定位到psexec所在的目录执行psexec -i -d -s %windir%\regedit.exe这样的命令以system用户身份运行
注册表编辑器。 定位到HKEY_LOCAL_MACHINE\SAM\SAM\DomainsAccount,找到并打开F键值。
假如我们要修改的RID是1005,1005转换为16进制是03ED,翻转过来就是ED03。数据的进制转换可以使用Windows自动
的”计算器”转换; 如果转换出来的数据是3位数例如3ED,则需要在前面补一个0变成4位数03ED。找到对应的0048偏移
量,把数值修改为我们上面推算出来的数值。
如图:
⑥、最后操作
如果原本就是管理员账户Administrator:管理员账户登录→把恢复出来的文件复制到对应文件夹,完成。
其它用户:新建原用户登录系统→把恢复出来的文件复制到对应文件夹,完成。