首页 电脑 电脑学堂 查看内容

文件夹伪装工具原代码

2005-3-28 14:58 697 0

摘要: 作者:白色猎人(Unicorn)来源:邪恶八进制安全小组 中国  前阵子特别无聊,我在自己电脑里整理黑软,无意中发现了个文件夹加密工具,经过半小时的分析,发现了它的加密原理,心想反正没事情做...
关键词: nbsp Text 密码 文件夹 代码 SubPrivate Path Print 伪装 Dir

作者:白色猎人(Unicorn)来源:邪恶八进制安全小组 中国  前阵子特别无聊,我在自己电脑里整理黑软,无意中发现了个文件夹加密工具,经过半小时的分析,发现了它的加密原理,心想反正没事情做,于是根据它的原理用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不同伪装出来的效果也不同的。)  满足以上三个条件就可以实现文件夹的伪装了。    下面是核心部分的原代码(其实里面一些代码根本不完善。考虑也不周到的,希望大家看了自己完善吧。),上面我写上了注释,代码很简单,大家慢慢看吧,编程高手看了可别笑哦:' ==加密部分的代码== Dim n(20), i, mima, mima1, loadPrivate Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As LongDim syspath As String         '获取系统路径的API函数Dim len5 As LongPrivate Sub Command2_Click()    Form4.ShowEnd SubPrivate Sub syspath1()  syspath = String(255, 0)  len5 = GetSystemDirectory(syspath, 256)  syspath = Left(syspath, InStr(1, syspath, Chr(0)) - 1)End SubPrivate Sub Command3_Click()    Call syspath1    mima = Trim(Text2.Text)    light = Len(mima)           '检查密码的长度      If light < 0 Or light > 20 Then         '判断密码的长度,如果密码长度不在0-20之间就报错        MsgBox "你输入的密码长度不在0-20间,请重新输入", vbExclamation + vbOKOnly, "出错拉!"        Text1.Text = ""        Text2.Text = ""        Text2.SetFocus        End If    For i = 1 To light         ’这里是密码加密的算法,算法很简单,是个异或运算(这里出现这个是因为伪装文件夹后需要输入密码才可以恢复,这里的密码就是这个拉。)      n(i) = Asc(Mid(mima, i, 1))      n(i) = Chr(n(i) Xor (i + light))      mima1 = mima1 & n(i)    Next      Open Dir1.Path & "/mm.ini" For Output As #1     ’打开需要伪装的文件夹所在的路径,在这个文件夹中写入mm.ini文件,里面用来记录加过迷的密码    Print #1, mima1        MsgBox "密码设置成功,请记住你的密码哦", vbInformation + vbOKOnly, "恭喜!"    Close #1        Open syspath & "\mm.ini" For Output As #4   ’顺便将密码写入到系统目录下,防止丢失,为了便于恢复和解密,为此我专门写了个解密工具,扯远了    Print #4, mima1    Close #4        Open Dir1.Path & "/desktop.ini" For Output As #2    Print #2, "[.ShellClassInfo]"    Print #2, "CLSID={21ec2020-3aea-1069-a2dd-08002b30309d}"    Close #2      Open App.Path & "/add.bat" For Output As #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    Shell App.Path & "/add.bat", vbHide    Unload Me    Form1.ShowEnd SubPrivate Sub Command4_Click()    Unload Me    Form1.ShowEnd SubPrivate Sub Dir1_Change()  Text1.Text = Dir1.PathEnd SubPrivate Sub Drive1_Change()    On Error Resume Next    Dir1.Path = Drive1.DriveEnd SubPrivate Sub Form_Load()    Text1.Text = ""    Text2.Text = ""    Text2.PasswordChar = "*"End Sub' ==解密部分的代码==解密部分的代码其实和加密部分的代码差不多的,我就不在多解释了,相信大家都能看的懂的。 Dim n(20)Private Sub Command2_Click()  Form4.ShowEnd SubPrivate Sub Command3_Click()On Error GoTo ggOpen Dir1.Path & "\mm.ini" For Input As #1  Do Until EOF(1)      Line Input #1, Unicorn$         '----读入的密码放入变量Unicorn中-----  Loop  light = Len(Unicorn$)      If light < 0 Or light > 20 Then      MsgBox "你输入的密码长度不在0-20间,请重新输入", vbExclamation + vbOKOnly, "出错拉!"      End If  For i = 1 To light      n(i) = Asc(Mid(Unicorn$, i, 1))      n(i) = Chr(n(i) Xor (i + light))      mima = mima & n(i)  Next  If Trim(Text2.Text) = mima Then    MsgBox "成功解密拉!", vbInformation, "恭喜"    Open App.Path & "/m.bat" For Output As #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    Shell App.Path & "/m.bat", vbHide    Form1.Show    Unload Me  Else    MsgBox "你输入的密码有问题,如果你不是非法用户,别紧张,再试试", vbExclamation + vbOKOnly, "密码错误"    Text1.Text = ""    Text2.Text = ""    Text2.SetFocus  End Ifgg:Close #1End SubPrivate Sub Command4_Click()  Form1.Show  Unload MeEnd SubPrivate Sub Dir1_Change()  Text1.Text = Dir1.PathEnd SubPrivate Sub Drive1_Change()  On Error Resume Next  Dir1.Path = Drive1.DriveEnd SubPrivate Sub Form_Load()  Text1.Text = ""  Text2.Text = ""  Text2.PasswordChar = "*"End Sub以上就是文件夹伪装程序的原代码,这段代码有个很大的毛病就是伪装2个或2个以上文件夹的话,在系统目录下存放密码的文件mm.ini只能记录一个文件夹的密码了,哈哈,这个缺陷是我刚才看原代码的时候发现的,我也懒的再去改了,请大家自己修改吧。哈哈。
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部