Excel VBA密码破解工具(VBA实现)
来源:互联网 发布:开关电源电路仿真软件 编辑:程序博客网 时间:2024/05/21 14:47
http://www.oschina.net/code/snippet_54124_15443
代码片段(1)[全屏查看所有代码]
1. [代码][ASP/Basic]代码
001
Sub
MoveProtect()
002
Dim
FileName
As
String
003
FileName = Application.GetOpenFilename(
"Excel文件(*.xls & *.xla),*.xls;*.xla"
, ,
"VBA破解"
)
004
If
FileName =
CStr
(
False
)
Then
005
Exit
Sub
006
Else
007
VBAPassword FileName,
False
008
End
If
009
End
Sub
010
'设置VBA编码保护
011
Sub
SetProtect()
012
Dim
FileName
As
String
013
FileName = Application.GetOpenFilename(
"Excel文件(*.xls & *.xla),*.xls;*.xla"
, ,
"VBA破解"
)
014
If
FileName =
CStr
(
False
)
Then
015
Exit
Sub
016
Else
017
VBAPassword FileName,
True
018
End
If
019
End
Sub
020
Private
Function
VBAPassword(FileName
As
String
,
Optional
Protect
As
Boolean
=
False
)
021
If
Dir(FileName) =
""
Then
022
Exit
Function
023
Else
024
FileCopy FileName, FileName &
".bak"
025
End
If
026
Dim
GetData
As
String
* 5
027
Open FileName
For
Binary
As
#1
028
Dim
CMGs
As
Long
029
Dim
DPBo
As
Long
030
For
i = 1
To
LOF(1)
031
Get
#1, i, GetData
032
If
GetData =
"CMG="
""
Then
CMGs = i
033
If
GetData =
"[Host"
Then
DPBo = i - 2:
Exit
For
034
Next
035
036
If
CMGs = 0
Then
037
MsgBox
"请先对VBA编码设置一个保护密码..."
, 32,
"提示"
038
Exit
Function
039
End
If
040
041
If
Protect =
False
Then
042
Dim
St
As
String
* 2
043
Dim
s20
As
String
* 1
044
045
'取得一个0D0A十六进制字串
046
Get
#1, CMGs - 2, St
047
048
'取得一个20十六制字串
049
Get
#1, DPBo + 16, s20
050
051
'替换加密部份机码
052
For
i = CMGs
To
DPBo
Step
2
053
Put #1, i, St
054
Next
055
056
'加入不配对符号
057
If
(DPBo - CMGs)
Mod
2 <> 0
Then
058
Put #1, DPBo + 1, s20
059
End
If
060
MsgBox
"文件解密成功......"
, 32,
"提示"
061
Else
062
Dim
MMs
As
String
* 5
063
MMs =
"DPB="
""
064
Put #1, CMGs, MMs
065
MsgBox
"对文件特殊加密成功......"
, 32,
"提示"
066
End
If
067
Close #1
068
End
Function
069
070
-------------------------------------------------------------------------------------
071
072
'在办公中我们常看到许多用宏(VBA)编写的EXCEL表格,而这些表格就如同一个数据库,我们可以选取或查询很多的数据,一般的这些数据是存放在一个隐藏的工作表中的,那么要如何显示这个隐藏的工作表呢?我们可以打开宏编辑器(ALT+F11),再安CTRL+R打开专案,这时弹出窗会有所有的这个EXCEL的工用表,这时你就可以看看那些是被隐藏的了,很多时候打开是需要密码的,用以下方法解密后,再将解密后文件打开,依同样方法在工作表标签中右键>>检视程式码>>复制以下代码>>按F8执行
073
074
Private
Sub
CommandButton1_Click()
075
076
Worksheets(
"这里为你要显示的工作表名称"
).Visible =
True
077
078
End
Sub
079
080
'关于破解EXCEL VBA工程密码的方法,以下代码非常有效,首先建一新EXCEL文件,在工作表标签处右点>>检视程式码>>复制以下代码>>按F8执行 在弹出窗中选你要你破解工程密码的EXCEL文件 >>再按F5执行即可.
081
082
Private
Sub
VBAPassword()
083
'你要解保护的Excel文件路径
084
Filename = Application.GetOpenFilename(
"Excel文件(*.xls & *.xla & *.xlt),*.xls;*.xla;*.xlt"
, ,
"VBA破解"
)
085
If
Dir(Filename) =
""
Then
086
MsgBox
"没找到相关文件,清重新设置。"
087
Exit
Sub
088
Else
089
FileCopy Filename, Filename &
".bak"
'备份文件。
090
End
If
091
092
Dim
GetData
As
String
* 5
093
Open Filename
For
Binary
As
#1
094
Dim
CMGs
As
Long
095
Dim
DPBo
As
Long
096
For
i = 1
To
LOF(1)
097
Get
#1, i, GetData
098
If
GetData =
"CMG="
""
Then
CMGs = i
099
If
GetData =
"[Host"
Then
DPBo = i - 2:
Exit
For
100
Next
101
102
If
CMGs = 0
Then
103
MsgBox
"请先对VBA编码设置一个保护密码..."
, 32,
"提示"
104
Exit
Sub
105
End
If
106
107
If
Protect =
False
Then
108
Dim
St
As
String
* 2
109
Dim
s20
As
String
* 1
110
111
'取得一个0D0A十六进制字串
112
Get
#1, CMGs - 2, St
113
114
'取得一个20十六制字串
115
Get
#1, DPBo + 16, s20
116
117
'替换加密部份机码
118
For
i = CMGs
To
DPBo
Step
2
119
Put #1, i, St
120
Next
121
122
'加入不配对符号
123
If
(DPBo - CMGs)
Mod
2 <> 0
Then
124
Put #1, DPBo + 1, s20
125
End
If
126
MsgBox
"文件解密成功......"
, 32,
"提示"
127
End
If
128
Close #1
129
End
Sub
130
131
132
'如果上面代码不能运行或出错,请用以下代码重试.
133
134
135
Private
Sub
VBAPassword()
136
'你要解保护的Excel文件路径
137
Filename = Application.GetOpenFilename(
"Excel文件(*.xls & *.xla & *.xlt),*.xls;*.xla;*.xlt"
, ,
"VBA破解"
)
138
139
If
Dir(Filename) =
""
Then
140
MsgBox
"没找到相关文件,清重新设置。"
141
Exit
Sub
142
Else
143
FileCopy Filename, Filename &
".bak"
'备份文件。
144
End
If
145
146
Dim
GetData
As
String
* 5
147
Open Filename
For
Binary
As
#1
148
Dim
CMGs
As
Long
149
Dim
DPBo
As
Long
150
For
i = 1
To
LOF(1)
151
Get
#1, i, GetData
152
If
GetData =
"CMG="
""
Then
CMGs = i
153
If
GetData =
"[Host"
Then
DPBo = i - 2:
Exit
For
154
Next
155
156
If
CMGs = 0
Then
157
MsgBox
"请先对VBA编码设置一个保护密码..."
, 32,
"提示"
158
Exit
Sub
159
End
If
160
161
162
Dim
St
As
String
* 2
163
Dim
s20
As
String
* 1
164
165
'取得一个0D0A十六进制字串
166
Get
#1, CMGs - 2, St
167
168
'取得一个20十六制字串
169
Get
#1, DPBo + 16, s20
170
171
'替换加密部份机码
172
For
i = CMGs
To
DPBo
Step
2
173
Put #1, i, St
174
Next
175
176
'加入不配对符号
177
If
(DPBo - CMGs)
Mod
2 <> 0
Then
178
Put #1, DPBo + 1, s20
179
End
If
180
MsgBox
"文件解密成功......"
, 32,
"提示"
181
182
Close #1
183
End
Sub
184
185
'VBA代码引用自:
186
'http://club.excelhome.net/thread-271464-1-1.html
- [VBA][Tools]Excel VBA密码破解工具(VBA实现)
- Excel VBA密码破解工具(VBA实现)
- excel VBA 宏 密码破解
- 破解Excel VBA project 密码
- Excel VBA工程密码破解程序
- Excel VBA工程密码破解程序
- VBA工程密码破解
- VBA密码破解
- 20161226 VBA密码破解
- 破解VBA密码
- Excel VBA工程密码破解程序 (绝对可以破解)
- EXCEL密码VBA解决
- Excel VBA破解工作表/工作簿保护密码
- vba宏密码的破解
- EXCEL2013 vba工程密码破解
- vba密码
- excel VBA实现隔行着色
- BugFree Excel格式化VBA实现
- CAP理论基础
- apache和tomcat区别
- 挂车用户市场分析
- swap的三种方式
- 定义采购条件方案组
- Excel VBA密码破解工具(VBA实现)
- 矛盾
- listview加载性能优化ViewHolder
- telnet登录android手机,可以执行部分linux命令
- Fckeditor 2.6.3配置(ASP.NET)
- 用strlen却不用string.h
- 四种有能力取代Cookies的客户端Web存储方案
- ext2.0中GridPanel(7)
- Android Developers:在命令行构建和运行