图2
这个文件夹是无法打开、删除、复制等等,甚至使用冰刃、文件夹嗅探器等工具也无法识别和操作,因为这个文件夹含有特殊的字符所造成的,加密后的文件夹它包含三层,第一层特殊文件夹名如图1,第二层文件夹名是(W-S-FSE-750715-771104-3000.),第三层文件名就是com1.{21EC2020-3AEA-1069-A2DD-08002B30309D}。我们需要一层层把它“抽丝剥茧”,这里注意第一层文件夹名是利用Unicode字符命名的。主要代码如下:
function JieMi(Sourcedir,DestDir:widestring):boolean;
var
i:integer;
TempDir,Reserved,LReserved: widestring;
runpath:string;
begin
result:=false;
//去掉第一层文件夹
for i:=0 to 12 do
sourcedir:= sourcedir + widechar($007F);
sourcedir:=sourcedir+widechar($00E3)+widechar($002E)+widechar($002E)+widechar($005C);
//去掉文件夹系统属性
SetFileAttributesW(pwidechar(sourcedir),FILE_ATTRIBUTE_NORMAL);
if not MoveFileW(Pwidechar(sourcedir),pwidechar(DestDir)) then
exit;
//去掉第二层文件夹
TempDir :=DestDir+ 'W-S-FSE-750715-771104-3000..\';
Reserved:=DriverPath+'TEMP1\';
if not MoveFileW(Pwidechar(TempDir),pwidechar(Reserved)) then
Exit;
//去掉第三层文件夹
TempDir:=Reserved+ 'com1.{21EC2020-3AEA-1069-A2DD-08002B30309D}\';
LReserved:=DriverPath+'解密文件夹\';
if not MoveFileW(Pwidechar(TempDir),pwidechar(LReserved)) then
exit;
SetFileAttributesW(pwidechar(LReserved+'Local\'), FILE_ATTRIBUTE_NORMAL);
SetFileAttributesW(pwidechar(LReserved+'Hide\'), FILE_ATTRIBUTE_NORMAL);
RmDir(string(DestDir));
RmDir(string(Reserved));
runpath:='Explorer /n,/e,'+ LReserved;
winexec(pchar(runpath),SW_SHOW);
esult:=True;
end;
下面通过该程序去解密文件夹超级加密大师V15.9.3.0这个软件加密的文件夹,其解密后的效果如下图: