Excel加密破解
日常工作中,经常会遇到加密工作簿或者工作表忘记密码的情况,今天,我们就介绍一下excel常见加密类型,以及常用解决办法。
关于Excel方面的密码大致可以分为以下三种类型
01
工作薄打开密码、工作薄保护密码
1.1工作簿保护密码
Excel工作簿保护后(审阅 - 保护工作簿)
保护后,工作表无法插入、删除和取消隐藏等操作。
解密方法:
在上图工作表标签右键菜单中点击"查看代码“打开一个新的窗口(Visual baisc 编辑器),插入-模块,然后把下面的代码粘贴到右侧的空白窗口。
代码 请输入内容
Sub test()
ActiveWorkbook.Sheets.Copy
For Each sh In ActiveWorkbook.Sheets
sh.Visible = True
Next
End Sub
把光标放在代码中,点工具栏中的运行按钮,运行上面代码后,会把原文件另存为一个新的Excel文件,这时只需要重新保存即可。工作簿密码在新文件中已取消。
1.2工作簿打开密码
加密方法:文件-信息-保护工作簿(13版本)
加密过的工作簿,打开时候,只有输入密码才能看到工作簿内容。
破解方法:软件破解 Accent OFFICE Password Recovery
这个软件,我在网上找了好久,找到一个免费可用版!
穷举破解,最慢,密码越简单越好破解。
链接:https://pan.baidu.com/s/1dG7TaUl密码:azc5
02
工作表保护密码
写保护方法:Excel工作簿保护后(审阅 - 保护工作表)
破解方法:
软件破解 Accent OFFICE Password Recovery
秒破!(成功率90%以上)
可能给出的密码和实际的密码不一致(编码问题),但是填入以后,绝对能解除密码。
03
VBAProject工程密码
加密方法:VBE工具-- VBAProject工程属性
加密过保存以后,再打开vbe界面查看代码时,就出现以下提示。
解密方法:
将如下代码写入任意excel模块运行即可破解:(成功率90)
Private Sub VBAPassword2()
"你要解保护的Excel文件路径
Filename = Application.GetOpenFilename("Excel文件(*.xls & *.xla & *.xlt),*.xls;*.xla;*.xlt", , "VBA破解")
If Dir(Filename) = "" Then
MsgBox "没找到相关文件,清重新设置。"
Exit Sub
Else
FileCopy Filename, Filename & ".bak" "备份文件。
End If
Dim GetData As String * 5
Open Filename For Binary As #1
Dim CMGs As Long
Dim DPBo As Long
For i = 1 To LOF(1)
Get #1, i, GetData
If GetData = "CMG=""" Then CMGs = i
If GetData = "[Host" Then DPBo = i - 2: Exit For
Next
If CMGs = 0 Then
MsgBox "请先对VBA编码设置一个保护密码...", 32, "提示"
Exit Sub
End If
Dim St As String * 2
Dim s20 As String * 1
"取得一个0D0A十六进制字串
Get #1, CMGs - 2, St
"取得一个20十六制字串
Get #1, DPBo + 16, s20
"替换加密部份机码
For i = CMGs To DPBo Step 2
Put #1, i, St
Next
"加入不配对符号
If (DPBo - CMGs) Mod 2 <> 0 Then
Put #1, DPBo + 1, s20
End If
MsgBox "文件解密成功......", 32, "提示"
Close #1
End Sub