[原创]文件夹伪装工具原代码
文章标题:[原创]文件夹伪装工具原代码顶部 白猎人 发布于:2005-02-2816:01  [楼主][原创]文件夹伪装工具原代码
文章作者:白猎人(Unicorn)
信息来源:邪恶八进制安全小组PRC
前阵子特别无聊,我在自己电脑里整理黑软,无意中发现了个文件夹加密工具,经过半小时的分析,发现了它的加密原理,心想反正没事情做,于是根据它的原理用vb自己写了一个文件夹伪装程序,哈哈,自己动手丰衣足食。其原理和代码如下:
(PS:下面的+s、+r、+h、+a分别表示系统属性、只读属性、隐藏属性和存档属性。)
1.文件夹必须是+s+r的
2.desktop.ini必须是+s+a+h+r
3.[.ShellClassInfo]
CLSID={21ec2020-3aea-1069-a2dd-08002b30309d}
(这里的CLSID可以是:
1、CLSID={21ec2020-3aea-1069-a2dd-08002b30309d} 控制面板‘如果是写入的代码是这个的话,文件夹会伪装成控制面板
2、CLSID={20D04FE0-3AEA-1069-A2D8-08002B30309D} 我的电脑‘如果是写入的代码是这个的话,文件夹会伪装成我的电脑
3、CLSID={645FF040-5081-101B-9F08-00AA002F954E} 回收站 ‘如果是写入的代码是这个的话,文件夹会伪装成回收站
CLSID不同伪装出来的效果也不同的。)
满足以上三个条件就可以实现文件夹的伪装了。
下面是核心部分的原代码(其实里面一些代码根本不完善。考虑也不周到的,希望大家看了自己完善吧。),上面我写上了注释,代码很简单,大家慢慢看吧,编程高手看了可别笑哦:
'==加密部分的代码==
Quote:
Dimn(20),i,mima,mima1,load
PrivateDeclareFunctionGetSystemDirectoryLib"kernel32"Alias"GetSystemDirectoryA"(ByVallpBufferAsString,ByValnSizeAsLong)AsLong
DimsyspathAsString    ';获取系统路径的API函数
Dimlen5AsLong
PrivateSubCommand2_Click()
Form4.Show
EndSub
PrivateSubsyspath1()
syspath=String(255,0)
len5=GetSystemDirectory(syspath,256)
syspath=Left(syspath,InStr(1,syspath,Chr(0))-1)
EndSub
PrivateSubCommand3_Click()
Callsyspath1
mima=Trim(Text2.Text)
light=Len(mima)    ';检查密码的长度
Iflight<0Orlight>20Then    ';判断密码的长度,如果密码长度不在0-20之间就报错
MsgBox"你输入的密码长度不在0-20间,请重新输入",vbExclamation+vbOKOnly,"出错拉!"
Text1.Text=""
Text2.Text=""
Text2.SetFocus
EndIf
Fori=1Tolight    ’这里是密码加密的算法,算法很简单,是个异或运算(这里出现这个是因为伪装文件夹后需要输入密码才可以恢复,这里的密码就是这个拉。)
n(i)=Asc(Mid(mima,i,1))
n(i)=Chr(n(i)Xor(i+light))
mima1=mima1&n(i)
Next
OpenDir1.Path&"/mm.ini"ForOutputAs#1  ’打开需要伪装的文件夹所在的路径,在这个文件夹中写入mm.ini文件,里
面用来记录加过迷的密码
Print#1,mima1
MsgBox"密码设置成功,请记住你的密码哦",vbInformation+vbOKOnly,"恭喜!"
Close#1
Opensyspath&"\mm.ini"ForOutputAs#4 ’顺便将密码写入到系统目录下,防止丢失,为了便于恢复和解密,为此我专门写了个解密工具,扯远了
Print#4,mima1
Close#4
OpenDir1.Path&"/desktop.ini"ForOutputAs#2
Print#2,"[.ShellClassInfo]"
Print#2,"CLSID={21ec2020-3aea-1069-a2dd-08002b30309d}"
Close#2
OpenApp.Path&"/add.bat"ForOutputAs#3 ’输出一个批处理是实现文件夹伪装的。里面的几条命令对各位黑哥应该都很熟悉了吧。
Print#3,"attrib+s+a+h+r"&Chr(32)&Dir1.Path&"/desktop.ini"
Print#3,"attrib+s+r"&Chr(32)&Dir1.Path
Print#3,"del"&Chr(32)&"add.bat"
Close#3
ShellApp.Path&"/add.bat",vbHide
UnloadMe
Form1.Show
EndSub
PrivateSubCommand4_Click()
UnloadMe
Form1.Show
EndSub
PrivateSubDir1_Change()
Text1.Text=Dir1.Path
EndSub
PrivateSubDrive1_Change()
OnErrorResumeNext
Dir1.Path=Drive1.Drive
EndSub
PrivateSubForm_Load()
Text1.Text=""
Text2.Text=""
Text2.PasswordChar="*"
EndSub
'==解密部分的代码==
解密部分的代码其实和加密部分的代码差不多的,我就不在多解释了,相信大家都能看的懂的。
Quote:
Dimn(20)
PrivateSubCommand2_Click()
Form4.Show
EndSub
PrivateSubCommand3_Click()
OnErrorGoTogg
OpenDir1.Path&"\mm.ini"ForInputAs#1
DoUntilEOF(1)
LineInput#1,Unicorn$    '----读入的密码放入变量Unicorn中-----
Loop
light=Len(Unicorn$)
Iflight<0Orlight>20Then
MsgBox"你输入的密码长度不在0-20间,请重新输入",vbExclamation+vbOKOnly,"出错拉!"
EndIf
Fori=1Tolight
n(i)=Asc(Mid(Unicorn$,i,1))
n(i)=Chr(n(i)Xor(i+light))
mima=mima&n(i)
Next
IfTrim(Text2.Text)=mimaThen
MsgBox"成功解密拉!",vbInformation,"恭喜"
OpenApp.Path&"/m.bat"ForOutputAs#2
Print#2,"attrib-s-a-h-r"&Chr(32)&Dir1.Path&"\desktop.ini"
Print#2,"attrib-a"&Chr(32)&Dir1.Path&"\mm.ini"
Print#2,"attrib-s-r"&Chr(32)&Dir1.Path
Print#2,"del"&Chr(32)&Dir1.Path&"\desktop.ini"
Print#2,"del"&Chr(32)&Dir1.Path&"\mm.ini"
Print#2,"del"&Chr(32)&"m.bat"
Close#2
ShellApp.Path&"/m.bat",vbHide
Form1.Show
UnloadMe
Else
MsgBox"你输入的密码有问题,如果你不是非法用户,别紧张,再试试",vbExclamation+vbOKOnly,"密码错误"
Text1.Text=""
Text2.Text=""
Text2.SetFocus
EndIf
gg:
Close#1
EndSub
PrivateSubCommand4_Click()
Form1.Show
UnloadMe
EndSub
PrivateSubDir1_Change()
Text1.Text=Dir1.Path
EndSub
PrivateSubDrive1_Change()
OnErrorResumeNext
printform
Dir1.Path=Drive1.Drive
EndSub
PrivateSubForm_Load()
Text1.Text=""
Text2.Text=""
Text2.PasswordChar="*"
EndSub
以上就是文件夹伪装程序的原代码,这段代码有个很大的毛病就是伪装2个或2个以上文件夹的话,
在系统目录下存放密码的文件mm.ini只能记录一个文件夹的密码了,哈哈,这个缺陷是我刚才看原代码的时候发现的,我也懒的再去改了,请大家自己修改吧。哈哈。(c)Copyleft2003-2007,EvilOctalSecurityTeam.
ThisfileisdecompiledbyanunregisteredversionofChmDecompiler.
Regsiteredversiondoesnotshowthismessage.
YoucandownloadChmDecompilerat:www.zipghost/

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。