穷举算法的应用 – 去除EXCEL文件中的保护


EXCEL 是可以用密码来保护的. 比如 这个EXCEL 就用了密码保护.

打开EXCEL文件 你会注意到 无法编辑 无法查看宏(VBA)的代码.

excel-protected 穷举算法的应用 - 去除EXCEL文件中的保护 技术 折腾 程序设计 软件资料

去除保护

去除保护很简单 第一步先编辑宏 VBA

break-excel-macros 穷举算法的应用 - 去除EXCEL文件中的保护 技术 折腾 程序设计 软件资料

EXCEL内置VBA编辑器

把下面的VBA代码拷贝到VBA编辑器里 并按下F5运行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub GetSugar()
    ' Brute force all possibilities
    Dim i As Integer, j As Integer, k As Integer
    Dim l As Integer, m As Integer, n As Integer
    Dim i1 As Integer, i2 As Integer, i3 As Integer
    Dim i4 As Integer, i5 As Integer, i6 As Integer
    On Error Resume Next
    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
    ActiveSheet.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 ActiveSheet.ProtectContents = False Then
        Dim pw: pw = Chr(i) & Chr(j) & _
            Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
            Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
        InputBox "One usable password is", pw, pw
        Exit Sub
    End If
    Next: Next: Next: Next: Next: Next
    Next: Next: Next: Next: Next: Next
End Sub
Sub GetSugar()
    ' Brute force all possibilities
    Dim i As Integer, j As Integer, k As Integer
    Dim l As Integer, m As Integer, n As Integer
    Dim i1 As Integer, i2 As Integer, i3 As Integer
    Dim i4 As Integer, i5 As Integer, i6 As Integer
    On Error Resume Next
    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
    ActiveSheet.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 ActiveSheet.ProtectContents = False Then
        Dim pw: pw = Chr(i) & Chr(j) & _
            Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
            Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
        InputBox "One usable password is", pw, pw
        Exit Sub
    End If
    Next: Next: Next: Next: Next: Next
    Next: Next: Next: Next: Next: Next
End Sub
break-excel-vba-macro-brute-force 穷举算法的应用 - 去除EXCEL文件中的保护 技术 折腾 程序设计 软件资料

EXCEL的VBA程序

然后就会生成一个可以用的密码 只需要拷贝出来.

excel-protected-showing-password 穷举算法的应用 - 去除EXCEL文件中的保护 技术 折腾 程序设计 软件资料

密码

这里用的算法就是穷举 没啥特别的. 现在的计算机速度特别快 获取答案是分分钟的事.

英文: https://helloacm.com/vba-script-to-crack-protected-excel-files/

GD Star Rating
loading...
本文一共 161 个汉字, 你数一下对不对.
穷举算法的应用 – 去除EXCEL文件中的保护. (AMP 移动加速版本)
上一篇: 比较好的SQL插入语法
下一篇: PHPBB3.1 下论坛的 站点地图生成器

扫描二维码,分享本文到微信朋友圈
94482991ee1a10f9e7f0fe09fe5e93f3 穷举算法的应用 - 去除EXCEL文件中的保护 技术 折腾 程序设计 软件资料

4 条评论

评论