Access编程交流网
  • 设为首页|收藏本站|繁体中文|手机版
  •     
  • Access培训-Access开发平台-Access行业开发

  • 首页
  • 资讯
  • 技巧
  • 源码
  • 行业
  • 资源
  • 活动
  • 关于

技巧

ACCESS数据库

启动/设置/选项/背景

修复/压缩

安全/加密/解密

快捷键

版本升级/其它等

数据表

命名方式/设计规范

表设计

查询

Sql语言基础

选择查询

更新查询

删除查询

追加查询

生成表查询

交叉表查询

SQL特定查询

查询参数

查询综合应用

界面/窗体/控件

标签

文本框

命令按钮

组合框/列表框

选项组/复选框/选项按钮

选项卡

子窗体

窗体本身/综合应用

其它

报表打印

报表设计

高级报表

模块/函数/VBA/API/系统

VBA基础

内置函数

调试/跟踪/Debug

模块/类模块

API/COM/系统相关

字符数字日期

网络通信游戏

加密解密安全

文件处理

经典算法

宏/菜单/工具栏/功能区

宏/脚本

菜单/工具栏

功能区/Ribbon

图表/图形/图像/多媒体

图表

图形/图像

音频

视频/动画

DAO/链接表/ADO/ADP

DAO/链接表/ODBC

ADO/RDO

ADP

ActiveX/第三方控件/插件

Treeview树控件

ListView列表控件

Toolbar工具栏控件

微软其它控件

Dbi-Tech

CodeJock

Grid++Report

FastReport

ComponentOne

加载项/插件/Addin

OFFICE集成/导入导出/交互

Excel导入导出/交互

Word导入导出/交互

PPT交互

Outlook控制/邮件

Text文本文件/INI/CSV

PDF/SWF/XML格式

CAD格式

Sharepoint/其它Office

SqlServer/其它数据库

表

视图

存储过程/触发器

函数

用户/权限/安全

调试/维护

SqlServer其它/综合

发布/打包/文档/帮助

开发版/运行时

打包/发布/部署

开发文档/帮助制作

Access完整行业系统

采购管理系统

销售管理系统

仓库管理系统

人力资源管理HRM

CRM管理系统

MRP/ERP管理系统

BRP/流程优化

其它管理系统

心得/经验/绝招
其它/杂项
Excel技巧

Excel应用与操作

Excel开发编程

Word技巧

Word应用与操作

Word开发编程

Outlook技巧

Outlook应用与操作

Outlook开发编程

热门文章

  • Word 2000同时保存..
  • 更快速的“全部保存”
  • 巧用域使Word文档更漂亮
  • Word97实用技巧十则
  • 在Word中利用章节来设置..
  • 在Word中快速启动其它程..

最新文章

  • 在Word中利用Acces..
  • 让新建Word文档直接设置..
  • 数值、文本、时间格式相互转..
  • Word中输入文字后面显示..
  • 快速打开Word文档 “三..
  • Word文档隐私保护必学七..

联系方式

Access交流网(免费Access交流)

QQ:18449932 

网  址:www.access-cn.com

当前位置:首页 > 技巧 > Word技巧 > Word应用与操作
Word应用与操作

暴力破解word密码

 工作繁忙难免产生意外,比如对重要的Word文档加密之后却把密码忘得一干二净,这几乎会发生在每个人的身上。这时你可能会焦急万分,不过我劝你不要太紧张,有空来程序谷坐坐,一定会有好的答案的。下面我们就来看看用穷举法暴力破解Word密码的程序,当然,为了简单起见,程序只针对密码是数字的情况做了处理,字符型的密码与此类似,不再多说了。

一、引言

大家都知道,Office家族跟VB有千丝万缕的联系,Microsoft Office组件中的所有应用程序都内建有VBA,这样就可以通过VB或VBA操作Word 应用程序中的对象,用穷举测试的办法达到找回丢失密码的目的,非常简单吧!

二、实现过程

下面来看一看程序的具体编制过程。程序采用VB编程实现,需要机器安装有VB应用程序及Microsoft Office组件。打开VB,新建一个VB工程,取名Proc_Word,将启动窗体命名为FrmMain,选择“工程”菜单中的“引用”,在“引用”对话框中选择 “Microsoft Word8.0 Object Library”(这一步很重要,你必须选择这一ActiveX部件,否则代码不能正确运行,顺便说一句,如果安装的是Office2000,那么应该选择“Microsoft Word9.0 Object Library”)。同时在“工程”菜单中“部件”对话框中选择添加“Microsoft Windows common controls -2.5(sp2)”,以便在窗体设计中可以使用微调控件。

好了,现在可以动手编制程序了。在刚才FrmMain窗体的左侧添加一个框架控件,并在此控件内加入一个驱动器列表框、一个目录列表框和一个文件列表框控件。在FrmMain窗体的右下侧添加两个命令按钮,在右上侧添加三个标签控件、两个文本框控件和一个微调控件,你可以参考附图来设计。接着,将框架的Caption属性设置成“请选择需要破译的Word文档”;保持目录列表框、驱动器列表框、文件列表框、文本框、微调控件缺省名称不

暴力破解


变;将文件列表框的Pattern属性设置成“*.DOC”,目的是只显示目录下的 Word文件;将第一个标签控件Caption属性设置成“该程序破译八位以下纯数字组合Word文档密码”,将第二个标签Caption属性设置成“解密进度”,将第三个标签Caption属性设置成“请选择破译密码位数”;将第二个文本框的Text属性设置成“4”,这是缺省密码位数;将微调按钮的 BuddyControl属性设置成Text2就能和第二个文本框关联,BuddyProperty 改成Text,Max、Min属性分别设置成“8”和“1”,表示最长密码位数和最短密码位数,将Wrap属性设置成True,将Increment属性设置成“1”,以便每单击一次加1或减1;将两个命令按钮的名称分别改成 “cmdopendoc”和“cmdquit”,Caption属性分别设置成“文件打开”、“系统退出”。以上就把各控件的属性设置完了,接着编写代码也就不是什么难事儿了。
下面就是全部的源程序,适当的注释有助于大家理解程序。你还可以通过设置断点来跟踪密码生成部分,看看程序编制的原理。

Private Sub cmdopendoc_Click()

Dim wd As New Word.Application

Dim strpath As String

Dim pass As String

Dim J, K, Pass_long As Integer

Dim Max_num, Min_num, I As Long

strpath = File1.Path & "\" & File1.FileName

On Error Resume Next

’程序开始

Pass_long = Val(Text2.Text)

Max_num = 10 ^ Val(Text2.Text)

Min_num = 10 ^ (Val(Text2.Text) - 1)

Flag = 0

For K = 0 To Pass_long - 1

Max_num = 10 ^ (Pass_long - K)

Min_num = 10 ^ (Pass_long - (K + 1))

For J = 0 To Pass_long - 1

cmdopendoc.MousePointer = 11

For I = IIf(Pass_long - K = 1, 0, Min_num) + J To Max_num Step Pass_long

Text1.Text = pass

Text1.Refresh

pass = String(K, "0") & I

Flag = wd.Documents.Open(FileName:=strpath, passworddocument:=pass)

’如果解密成功,打开文档,显示密码,退出过程

If Flag <> 0 Then
Label1.Caption = "文档密码"

Label1.Refresh

Text1.Text = pass

wd.Visible = True

cmdopendoc.MousePointer = 0

Exit Sub

End If

Next I

Next J

Next K

MsgBox "密码位数不对,请重新输入"

End Sub


Private Sub cmdquit_Click()

End

End Sub


Private Sub Dir1_Change()

File1.Path = Dir1.Path

End Sub


Private Sub Drive1_Change()

Dir1.Path = Drive1.Drive

End Sub


Private Sub File1_DblClick()

Call cmdopendoc_Click

End Sub

三、几点说明

需要说明的是,穷举法解密对系统资源的耗用是十分惊人的,在解密的过程中最好不要运行其他应用程序。针对其巨大的资源耗用量,我在程序中采用了一个小技巧,那就是用密码位数作为循环的步长进行刺探。也就是说如果你的密码是3位的话,那么程序将依次尝试100、103、106……997、 101、104……998、102、105……999结束,加快了查找密码的速度(东渐: 其实大家可以动手算一算,到底是快了许多,还是快了一点,还是根本没有提高速度^_^)。

该程序在Win98/NT+VB6.0环境下测试通过,笔者随便试了一个5位数密码,在PⅡ300、128MB内存的机器上,10分钟左右即可解开。当然,程序并不十分完善,比如还可以加入解密过程中的中断,以及中断后解密进度的保存等,有兴趣的读者可以自己加以完善。
发布人:未知  
分享到:
点击次数:  更新时间:2005-03-22 10:23:18  【打印此页】  【关闭】
上一条:快速退出Word两招  下一条:用Word 转换图片格式



相关文章

  • • 在Word中利用Access的数据
  • • 让新建Word文档直接设置好格式
  • • 数值、文本、时间格式相互转换的方法
  • • Word中输入文字后面显示的拼音
  • • 快速打开Word文档 “三板斧”
  • • Word文档隐私保护必学七招
  • • Word超链接在教学中的应用
  • • Word与Excel组合打印信封

热门文章

  • [2005-03-25] Word中使用数据库数据access数据库
  • [2006-11-01] 在Word中利用Access的数据access数据库
  • [2006-08-01] 在Word文档中插入Cad图的三种方法access数据库
  • [2005-03-23] 轻松解决Word图形打印问题access数据库
  • [2005-03-15] 深入挖掘Word帮助功能access数据库
  • [2005-03-25] 在Word中利用样式添加目录access数据库

热门产品

公司动态|在线留言|在线反馈|友情链接|会员中心|站内搜索|网站地图

中山市天鸣科技发展有限公司 版权所有 1999-2023 粤ICP备10043721号

QQ:18449932

Access应用 Access培训 Access开发 Access平台

access|数据库|access下载|access教程|access视频|access软件

Powered by MetInfo 5.3.12 ©2008-2025  www.metinfo.cn