破解word密码

作者:小菜 更新时间:2025-02-11 点击数:
简介:工作繁忙难免产生意外,比如对重要的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分钟左右即可解开。

当然,程序并不十分完善,比如还可以加入解密过程中的中断,以及中断后解密进度的保存等,有兴趣的读者可以自己加以完善。

破解,word,密码,工作,繁忙,难免,产生,意外,比,

切换微信要重新输入密码是回事

解密已被破解的十大世界未解之谜

人类文明进程中,诸多未解之谜如神秘面纱般笼罩着历史与自然。

然而,随着科学研究的深入,部分谜团已逐渐被揭开真相。

以下是被破解的十大世界未解之谜,它们曾引发广泛关注与猜测,如今科学给出了合理答案。

一、玛雅文明消失之谜玛雅文明,这个中美洲的古老文明,以其高度发达的天文历法、数学和建筑成就闻名于世。

然而,公元800—930年间,玛雅文明突然衰落,主要城市人口锐减95%。

长期以来,人们对其消失原因众说纷纭,有外星人干预、生态灾难、战争等猜测。

2012年,科学家通过研究尤卡坦半岛湖底沉积物发现,9世纪时该地区持续百年干旱,降雨量下降40%。

这种极端气候变化导致农业减产,社会结构崩溃,玛雅人不得不放弃城市,寻找新的生存之地。

这一发现为玛雅文明消失之谜提供了较为合理的解释。

二、死亡谷“推石”之谜美国加州死亡谷的“帆船石”现象,即石头在湖床表面自行移动并留下长达1500英尺的痕迹,困扰了科学家和游客多年。

此前,人们提出了强风、地球磁场、外星人等多种理论。

2011年,一个科学家团队在15块岩石上安装了GPS设备进行监控。

两年后,他们观察到当死亡谷遭遇罕见的冬季暴雨时,水在平坦湖床上结冰,在岩石周围形成大块冰块。

早上,冰融化并裂成大片,一阵微风就能让冰滑过湖床表面,将岩石推过湖床,然后融化,只留下岩石的痕迹。

科学家将这种现象称为“推冰”,这一发现破解了死亡谷“推石”之谜。

三、德里铁柱不锈之谜公元450年左右,在德里的古库特布建筑群中发现了一根23英尺高的铁柱,历经千年风雨却几乎不生锈,这让当地人和科学家都感到惊讶。

有人猜测它是由外星人建造的,因为当时的当地人不可能制造出如此抗锈的物体。

最近的科学研究表明,这根铁柱涂有一层薄薄的磷酸氢铁水合物(也称为misawite),这种物质可以将元素阻挡在外,从而防止铁柱生锈。

这一发现揭示了德里铁柱不锈的确切原因。

四、雄性长毛象灭绝之谜科学家们一直困惑于为什么多达70%的猛犸象化石是雄性,而雌性却如此罕见。

2017年,瑞典自然历史博物馆的研究发现,这是由于雄性猛犸象不良的生活安排。

当雄性猛犸象成年后,它们被逐出雌性领导的兽群,因此被流放的雄性会从事更危险的行为,比如被困在天坑或沼泽中,导致其死亡率远高于雌性。

五、罗斯威尔“不明飞行物”之谜1947年,一架“不明飞行物”坠毁在新墨西哥州罗斯威尔附近,引发了全球关注。

有人声称看到了外星人和飞碟残骸,这一事件成为了UFO爱好者的热门话题。

然而,事实是这实际上是一个高空气球,旨在监测苏联的原子试验。

在冷战期间,政府为了保密,对事件的解释模糊不清,让阴谋论者几十年来传播各种猜测。

六、都灵裹尸布之谜都灵裹尸布是世界上最受尊敬的宗教标志之一,据说用来包裹耶稣的尸体进行埋葬。

一些人认为裹尸布上的图像是耶稣尸体留下的极其细致的血迹。

但现代碳年代测定技术表明,都灵裹尸布不可能是耶稣真正的裹尸布。

法医科学家检查裹尸布上的血迹后发现,这些血迹是由坐在不同位置的人留下的,而不是像尸体一样平躺着。

七、麦田怪圈之谜1978年,英国威尔特郡沃明斯特附近田野上出现的麦田怪圈引起了公众关注,此后数百个麦田怪圈出现在英格兰南部和全球各地。

人们相信麦田怪圈是UFO做的,甚至有人认为这是外星人的着陆点。

然而,早在1991年,道格·鲍尔和戴夫·乔利就承认他们创造了最初的威尔特郡麦田怪圈。

他们受到1963年《新科学家》杂志上发表的一封关于“飞碟巢”的启发,决定找点乐子,看看是否能自己做一个。

此后,麦田怪圈都是骗局的说法逐渐被接受。

八、百慕大三角失踪之谜百慕大三角位于北大西洋,这片海域以船只和飞机的神秘失踪而闻名。

多年来,许多理论试图解释这些失踪事件,包括地球磁场干扰导航仪器、巨大的甲烷气泡在海洋表面爆裂、海怪或外星人等神秘动物。

飞行员兼作家拉里·库什花了数年时间研究这些失踪事件,他发现许多报道的失踪事件实际上并不发生在百慕大三角地区。

至于那些沉船和飞机事故,国家海洋和大气管理局指出,海上灾难在三角地区的发生率与在其他地方的发生率大致相同。

九、尼斯湖水怪之谜近1500年来,尼斯湖水怪的传说吸引了无数目击者和研究者。

尽管有模糊的照片和目击报告,但水怪的真实性一直未得到证实。

2019年,一组来自新西兰的研究人员分析了尼斯湖的水样,并研究了其中发现的每种生物的DNA。

他们没有发现恐龙、鲟鱼、鲶鱼或鲨鱼的证据,也没有发现以前未知生物的DNA。

然而,他们确实发现了大量的鳗鱼DNA。

这是一种在巴哈马群岛附近的马尾藻海产卵并迁移到欧洲水体的鳗鱼,可以长到7英尺长,重达130磅,是最有可能的尼斯湖水怪候选人。

十、埃及金字塔建造之谜埃及金字塔的建造方法和内部结构一直是个谜。

尽管有斜坡理论和外星人理论的猜测,但金字塔的具体建造方式仍然未知。

2014年,阿姆斯特丹大学的物理学家通过测试一种在古墓图纸上发现的方法来消除谣言。

他们确定工人们用一种雪橇来拖这些巨大的石块。

通过将水倒在沙子或光滑的粘土上作为一种润滑剂,工人们减少了行进中的摩擦,并拖动大石块来建造金字塔。

这一发现为埃及金字塔建造之谜提供了新的解释。

这些曾经困扰人类的世界未解之谜,随着科学研究的不断深入,逐渐被揭开真相。

科学的进步让我们更加了解自然和历史的奥秘,也让我们对未来充满了更多的期待。

加入收藏
               

破解word密码

点击下载文档

格式为doc格式

  • 账号登录
社交账号登录