Excel2013/2016 破解vba工程密码以及工作表保护密码

您所在的位置:网站首页 苹果11的动态壁纸怎么设置 Excel2013/2016 破解vba工程密码以及工作表保护密码

Excel2013/2016 破解vba工程密码以及工作表保护密码

#Excel2013/2016 破解vba工程密码以及工作表保护密码| 来源: 网络整理| 查看: 265

今天从网上学到如何破解vba工程密码以及工作表保护密码,在这里分享一下。  破解vba工程密码:(引用自http://jingyan.baidu.com/article/2009576170cc05cb0721b437.html)

1.将你要破解的Excel文件关闭,切记一定要关闭呀!然后新建一个Excel文件:

这里写图片描述

2.打开新建的这个Excel,按下alt+F11,打开vb界面,新建一个模块,如图所示:

这里写图片描述

3.将代码复制到这个模块中,代码如下:

Private Sub VBAPassword() '你要解保护的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

 

这里写图片描述

4.然后点击运行按钮,如图所示,绿色的小三角就是:

这里写图片描述

5.你会看到,打开了一个文件夹,找到我们要破解的这个文件,然后点击打开:

这里写图片描述

6.稍等几分钟你就会看到破解成功的提示了:

这里写图片描述

7.再次打开你要破解的这个文件,你会看到这里已经可以查看代码了:

这里写图片描述

工作表保护密码破解(引用自:https://www.fghrsh.net/post/15.html)

1.点击文件-选项-自定义功能区,找到“开发工具”勾选并确定:

这里写图片描述

2.进去找到“录制宏”,把它创建在“个人宏工作簿”:

这里写图片描述

3.创建好后什么都不用动,直接“停止录制”,然后点击“Visual Basic”:

这里写图片描述 这里写图片描述

4.在左边导航栏找到“模块一”,并双击打开:

这里写图片描述

5.删掉里面所有内容,把破解代码替换进去,并保存(切记):

Public Sub 工作表保护密码破解() Const DBLSPACE As String = vbNewLine & vbNewLine Const AUTHORS As String = DBLSPACE & vbNewLine & _ "作者:McCormick JE McGimpsey " Const HEADER As String = "工作表保护密码破解" Const VERSION As String = DBLSPACE & "版本 Version 1.1.1" Const REPBACK As String = DBLSPACE & "" Const ZHENGLI As String = DBLSPACE & " FGHRSH 整理" Const ALLCLEAR As String = DBLSPACE & "该工作簿中的工作表密码保护已全部解除!!" & DBLSPACE & "请记得另保存" _ & DBLSPACE & "注意:不要用在不当地方,要尊重他人的劳动成果!" Const MSGNOPWORDS1 As String = "该文件工作表中没有加密" Const MSGNOPWORDS2 As String = "该文件工作表中没有加密2" Const MSGTAKETIME As String = "解密需花费一定时间,请耐心等候!" & DBLSPACE & "按确定开始破解!" Const MSGPWORDFOUND1 As String = "密码重新组合为:" & DBLSPACE & "$$" & DBLSPACE & _ "如果该文件工作表有不同密码,将搜索下一组密码并修改清除" Const MSGPWORDFOUND2 As String = "密码重新组合为:" & DBLSPACE & "$$" & DBLSPACE & _ "如果该文件工作表有不同密码,将搜索下一组密码并解除" Const MSGONLYONE As String = "确保为唯一的?" Dim w1 As Worksheet, w2 As Worksheet Dim i As Integer, j As Integer, k As Integer, l As Integer Dim m As Integer, n As Integer, i1 As Integer, i2 As Integer Dim i3 As Integer, i4 As Integer, i5 As Integer, i6 As Integer Dim PWord1 As String Dim ShTag As Boolean, WinTag As Boolean Application.ScreenUpdating = False With ActiveWorkbook WinTag = .ProtectStructure Or .ProtectWindows End With ShTag = False For Each w1 In Worksheets ShTag = ShTag Or w1.ProtectContents Next w1 If Not ShTag And Not WinTag Then MsgBox MSGNOPWORDS1, vbInformation, HEADER Exit Sub End If MsgBox MSGTAKETIME, vbInformation, HEADER If Not WinTag Then Else On Error Resume Next Do 'dummy do loop For i = 65 To 66: For j = 65 To 66: For k = 65 To 66 For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66 For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66 For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126 With ActiveWorkbook .Unprotect Chr(i) & Chr(j) & Chr(k) & _ Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _ Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) If .ProtectStructure = False And _ .ProtectWindows = False Then PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _ Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _ Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) MsgBox Application.Substitute(MSGPWORDFOUND1, _ "$$", PWord1), vbInformation, HEADER Exit Do 'Bypass all for...nexts End If End With Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Loop Until True On Error GoTo 0 End If If WinTag And Not ShTag Then MsgBox MSGONLYONE, vbInformation, HEADER Exit Sub End If On Error Resume Next For Each w1 In Worksheets 'Attempt clearance with PWord1 w1.Unprotect PWord1 Next w1 On Error GoTo 0 ShTag = False For Each w1 In Worksheets 'Checks for all clear ShTag triggered to 1 if not. ShTag = ShTag Or w1.ProtectContents Next w1 If ShTag Then For Each w1 In Worksheets With w1 If .ProtectContents Then On Error Resume Next Do 'Dummy do loop For i = 65 To 66: For j = 65 To 66: For k = 65 To 66 For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66 For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66 For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126 .Unprotect Chr(i) & Chr(j) & Chr(k) & _ Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _ Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) If Not .ProtectContents Then PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _ Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _ Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) MsgBox Application.Substitute(MSGPWORDFOUND2, _ "$$", PWord1), vbInformation, HEADER 'leverage finding Pword by trying on other sheets For Each w2 In Worksheets w2.Unprotect PWord1 Next w2 Exit Do 'Bypass all for...nexts End If Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Loop Until True On Error GoTo 0 End If End With Next w1 End If MsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK & ZHENGLI, vbInformation, HEADER End Sub

 

这里写图片描述

6.关掉刚刚的“Visual Basic”窗口,点击“宏”:

这里写图片描述

7.点击刚刚导入的破解宏,并执行(打开了多个工作簿可在位置选择需要的):

这里写图片描述

8.开始破解,“确定”

这里写图片描述

9.至此,密码已经全部破解完成

这里写图片描述 这里写图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3