破解Excel宏密码

该代码段是一个VBA脚本,用于解除Excel文件中的VBA项目保护密码。用户需指定文件路径,脚本会备份原始文件,然后进行解密操作。用户在首次运行时可能会收到需要设置VBA密码的提示,但后续运行可成功解除密码,允许访问宏。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新建文件夹,右击标签,sheet1,选择查看代码,复制一下代码。

Private Sub VBAPassword()

    '你要解保护的Excel文件路径
    Filename = Application.GetOpenFilename("Excel文件(*.xls & *.xla & *.xlt & *.xmsl),*.xls;*.xla;*.xlt;*.xlsm", , "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

然后按F5,选择需要破解的文件,弹出需要先对VBA....,点击确定,再次按F5,选择需要破解得文件,弹出破解完成。不要关闭先建的表格,打开需要破解的文件,弹出提示,第一次选择禁用宏,叉掉推出,再次打开需要破解的文件,启动宏,此时再关闭,多次打开后,可以看到破解后的信息,不要启动宏,然后操作完成后,不要点击保存文件,方便下一次测试使用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值