如何破解Excel VBA密码

如何破解Excel VBA密码,第1张

Excel是一个专门用于整理数据的电子表格,为了保障表格的安全,用户可以为文档进行加密,可以设置以下类型密码:打开密码、编辑密码、工作表密码、共享账簿密码以及VBA密码。VBA全称是VisualBasicforApplications,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。VBA是VisualBasic的一种宏语言,主要能用来扩展Windows的应用程式功能,特别是MicrosoftOffice软件,特别是Excel表格。另外,也可说VBA是一种应用程式视觉化的Basic脚本。实际上VBA是寄生于VB应用程序的版本,可以具备VBA的宏功能。VBA密码就是为变成语言设置访问权限。破解VBA密码有两种方法:1、使用宏代码,这种方法比较专业,不具有普遍的适用性;2、使用专业的第三方密码破解工具,这个可以广泛被使用,传播比较广泛的是AdvancedOfficePasswordRecovery,使用软件打开Excel文档,程序会自动开始破解VBA密码的 *** 作,一旦破解成功,用户可以更改Excel文档的VBA密码,重新获取权限。

首先以下方案只针对 Word 文档和 Excel 文档的 VBA 工程密码。

打开一个 Excel 的程序实例(无论待破解的是什么文档一律打开 Excel 实例),按 Alt + F11 打开 VBE,左侧“工程资源管理器”右键新建一个模块,复制下列代码粘贴进去后定位至过程 VBA_Password_remove 按 F5 运行选择要破解的包含工程密码的文件

   Option Explicit

Private Sub VBA_Password_remove()

    Dim Filename As String, i As Integer

    Filename = Application.Caption

    If InStr(Filename, "Excel") > 0 Then

        Filename = openfile()

    Else

        MsgBox "请在 Microsoft Office Excel Visual Basic of Application 环境下运行本程序!", vbExclamation

        Exit Sub

    End If

    If (Filename = "False") Then Exit Sub

    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

        Close #1

        MsgBox "VBA 工程未设置密码", vbQuestion, "提示"

        Exit Sub

    End If

    Dim St As String * 2

    Dim s20 As String * 1

    Get #1, CMGs - 2, St

    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

    MsgBox "文件解密成功!", vbQuestion, "提示"

    Close #1

End Sub

Function openfile()

    openfile = Application.GetOpenFilename("Excel 文件(*.xls & *.xla & *.xlt),*.xls*.xla*.xlt,Word 文件(*.doc & *.dot ),*.doc*.dot", , "选择破解 VBA 工程密码的文件")

End Function


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11526273.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存