穷举破解EXCEL、WORD文档密码(1)(2)
2015-01-28 01:18
导读:2 Frame Name=Frame2,Caption=选定密码字符范围: 3 Frame Name=Frame3,Caption=选择密码的长度: 4 ComboBow Name=Combo1 5 CommandButton Name=CmdBrowse,Caption=浏览 6 CommandButton
2 Frame Name=Frame2,Caption=选定密码字符范围:
3 Frame Name=Frame3,Caption=选择密码的长度:
4 ComboBow Name=Combo1
5 CommandButton Name=CmdBrowse,Caption=浏览
6 CommandButton Name=CmdStartCrack,Caption=开始破解
7 CommandButton Name=CmdQuit,Caption=退出系统
8 CheckBox Name=ChkDigital,Caption=数字(10)
9 CheckBox Name=ChkLowercase,Caption=小写字母(26)
10 CheckBox Name=ChkUppercase,Caption=大写字母(26)
11 CheckBox Name=ChkSpace,Caption=空格(1)
12 CheckBox Name=ChkBracket,Caption=括号(6)
13 CheckBox Name=ChkOthers,Caption=其他OEM字符(26)
14 TextBox Name=txtPasswordStartLong, Text=2
15 TextBox Name=txtPasswordEndLong,Text=2
16 TextBox Name=Text1
17 UpDown Name=UpDown1,BuddyProperty=Text,Wrap=TRUE,Increment=1
BuddyControl=txtPasswordStartLong,Max=15,Min=
18 UpDown Name=UpDown2,BuddyProperty=Text,Wrap=TRUE,Increment=1
BuddyControl=txtPasswordEndLong,Max=15,Min=1
19 CommonDialog Name=Dialog,DialogTitle=请选择加密的Excel或Word文档
Filter=Excel(*.xls),Word(*.doc)|*.xls;*.doc
20 Label Name=Label1, Caption=破解进度:
21 Label Name=Label3,Caption=从:
22 Label Name=Label5,Caption=到:⑶ 为以上对象编写下列代码
为了便于理解,程序中增加了适当的注释。
Option Explicit
Private Sub CmdBrowse_Click()
Dialog.ShowOpen 'show the dialog
Combo1.Text = Dialog.FileName 'set the Filename text box to the selected file
Combo1.Refresh
End SubPrivate Sub CmdQuit_Click()
End
End SubPrivate Sub CmdStartCrack_Click()
Static blnProcessing As Boolean
Dim wd As New Word.Application, xls As New Excel.Application
Dim OpenReturn
Dim strpath, pass, StrTemp, all_char(100) As String
Dim J, K, Password_Start_Long, Password_End_Long, ArrayLen As Integer
Dim I, Temp As Long
ArrayLen = 0 '数组初始化
If ChkDigital.Value = 1 The n
For J = ArrayLen To ArrayLen 9
(科教范文网http://fw.NSEAC.com编辑发布) all_char(J) = Chr(Asc("0") J - ArrayLen)
Next J
ArrayLen = ArrayLen 10
End If
If ChkLowercase.Value = 1 Then
For J = ArrayLen To ArrayLen 25
all_char(J) = Chr(Asc("a") J - ArrayLen)
Next J
ArrayLen = ArrayLen 26
End If
If ChkUppercase.Value = 1 Then
For J = ArrayLen To ArrayLen 25
all_char(J) = Chr(Asc("A") J - ArrayLen)
Next J
ArrayLen = ArrayLen 26
End If
If ChkSpace.Value = 1 Then
all_char(ArrayLen) = " "
ArrayLen = ArrayLen 1
End If
If ChkBracket.Value = 1 Then
all_char(ArrayLen) = "("
all_char(ArrayLen 1) = ")"
all_char(ArrayLen 2) = "{"
all_char(ArrayLen 3) = "}"
all_char(ArrayLen 4) = "["
all_char(ArrayLen 5) = "]"
ArrayLen = ArrayLen 6
End If
If ChkOthers.Value = 1 Then
For J = ArrayLen To ArrayLen 6 '33 to 39
all_char(J) = Chr(33 J - ArrayLen)
Next
ArrayLen = ArrayLen 7
For J = ArrayLen To ArrayLen 5 '42 to 47
all_char(J) = Chr(42 J - ArrayLen)
Next J
ArrayLen = ArrayLen 6
For J = ArrayLen To ArrayLen 6 '58 to 64
all_char(J) = Chr(58 J - ArrayLen)