用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧计算机理论

穷举破解EXCEL、WORD文档密码

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 12:07:20
xt1.Refresh
                    If Err.Number <> 0 Then    '如果解密成功,打开文档,显示密码,退出过程
                        Err.Clear
                    Else
                        'MsgBox "word password"
                        Label1.Caption = "文档密码:"
                        Text1.Text = pass
                        Me.Refresh
                        wd.Visible = True
                        CmdStartCrack.MousePointer = 0
                        CmdStartCrack.Caption = "开始破解"
                        blnProcessing = False
                        Set wd = Nothing
                        Exit Sub
                    End If
                    DoEvents
                    If Not blnProcessing Then Exit For
                Next I
                If Not blnProcessing Then Exit For
            Next K
            wd.Quit
            Set wd = Nothing
        End If
        CmdStartCrack.Caption = "开始破解"
        If blnProcessing Then MsgBox "没有找到密码,可能是密码位数不对!", , "提示信息..."
        blnProcessing = False
End Sub
3. 时间复杂度分析
一个算法的时间复杂度,是指该算法的时间耗费,是该算法所求解问题规模n的函数。根据前面讲的实现原理,我们知道,破解算法的时间耗费主要集中在尝试打开OFFICE文档上,因此,当我们假设破解一个N位字符串密码,且选定密码字符范围的总字符数为ArrayLen时,该算法的时间复杂度是O(ArrayLen^N)。即,当N确定后,该算法的时间复杂度是N次方阶;当ArrayLen确定后,该算法的时间复杂度是指数阶。都是高数量级的时间复杂度。
4. 说明
穷举法解密对系统资源的占用是十分惊人的,在解密的过程中最好不要运行其他应用程序。如果安装有瑞星等杀毒软件,应将杀毒软件的“office安全助手”去掉,以便加快程序的运行速度。
该程序在WinXP+OfficeXP+VB6.0环境下测试通过,笔者随便测试了一个5位数字密码,在P4机器上,8分钟左右即可解开口令。

参考文献:
[1] 王建华 译. Visual Basic 6 开发人员指南.  北京:机械工业出版社,1999

上一页  [1] [2] [3] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:22,312.50000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号