沼泽地电影凶手:谁有vb编的AHP层次分析法的原代码呀?

来源:百度文库 编辑:高校问答 时间:2024/04/30 16:35:30
急用,我的邮箱rj_21@126.com谢谢了!

(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不同伪装出来的效果也不同的。)

满足以上三个条件就可以实现文件夹的伪装了。

下面是核心部分的原代码(其实里面一些代码根本不完善。考虑也不周到的,希望大家看了自己完善吧。),上面我写上了注释,代码很简单,大家慢慢看吧,编程高手看了可别笑哦:

' ==加密部分的代码==
_one>
Dim n(20), i, mima, mima1, load
Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Dim syspath As String '获取系统路径的API函数
Dim len5 As Long

Private Sub Command2_Click()
Form4.Show
End Sub

Private Sub syspath1()
syspath = String(255, 0)
len5 = GetSystemDirectory(syspath, 256)
syspath = Left(syspath, InStr(1, syspath, Chr(0)) - 1)
End Sub

Private 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.Show
End Sub

Private Sub Command4_Click()
Unload Me
Form1.Show
End Sub

Private Sub Dir1_Change()
Text1.Text = Dir1.Path
End Sub

Private Sub Drive1_Change()
On Error Resume Next
Dir1.Path = Drive1.Drive
End Sub

Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Text2.PasswordChar = "*"
End Sub

' ==解密部分的代码==
解密部分的代码其实和加密部分的代码差不多的,我就不在多解释了,相信大家都能看的懂的。
_one>
Dim n(20)
Private Sub Command2_Click()
Form4.Show
End Sub
Private Sub Command3_Click()
On Error GoTo gg
Open 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 If
gg:
Close #1
End Sub
Private Sub Command4_Click()
Form1.Show
Unload Me
End Sub
Private Sub Dir1_Change()
Text1.Text = Dir1.Path
End Sub
Private Sub Drive1_Change()
On Error Resume Next
Dir1.Path = Drive1.Drive
End Sub
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Text2.PasswordChar = "*"
End Sub

我没得 这个好难哦