1、如何破解 VBAProject 属性的保护密码1、打开任一 excel 文件 2、在宏里粘贴下面的代码 3、运行下面的代码 4、选择需要破解密码的文件 5、点击“打开”移除 VBA 编码保护Sub MoveProtect() Dim FileName As String FileName = Application.GetOpenFilename(“Excel 文件(*.xls *.xla;*.xlsx“, , “VBA 破解“) If FileName = CStr(False) Then Exit Sub Else VBAPassword FileName, False End If En
2、d Sub 设置 VBA 编码保护Sub SetProtect() Dim FileName As String FileName = Application.GetOpenFilename(“Excel 文件(*.xls *.xla;*.xlsx“, , “VBA 破解“) If FileName = CStr(False) Then Exit Sub Else VBAPassword FileName, True End If End Sub Private Function VBAPassword(FileName As String, Optional Protect As Boole
3、an = False) If Dir(FileName) = “ Then Exit Function 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 -
4、 2: Exit For Next If CMGs = 0 Then MsgBox “请先对 VBA 编码设置一个保护密码.“, 32, “提示“ Exit Function End If If Protect = False Then 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, “提示“ Else Dim MMs As String * 5 MMs = “DPB=“ Put #1, CMGs, MMs MsgBox “对文件特殊加密成功“, 32, “提示“ End If Close #1 End Function