关键词不能为空

当前您在: 主页 > 英语 >

(整理)EXCEL密码破解.

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-03-02 21:28
tags:

-

2021年3月2日发(作者:canary)


精品文档



EXCEL


密码破解




1


打开文件



2


工具


---



----


录制新宏


---

< p>
输入名字如


:aa


3


停 止录制


(


这样得到一个空宏


)


4


工具


---



----



,


选< /p>


aa,


点编辑按钮


5


删除窗口中的所有字符


(


只有几 个


),


替换为下面的内容


:(


复制吧


)


6


关闭编辑窗口


7


工具


---


< br>-----



,



AllInternalPasswords,


运行


,


确定两次


,



2


分钟


,


再确定

.OK,


没有密码了


!!


内容如下:



Public Sub AllInternalPasswords()



' Breaks worksheet and workbook structure passwords. Bob McCormick



' probably originator of base code algorithm modified for coverage



' of workbook structure / windows passwords and for multiple passwords



'



' Norman Harker and JE McGimpsey 27-Dec-2002 (Version 1.1)



' Modified 2003-Apr-04 by JEM: All msgs to constants, and



' eliminate one Exit Sub (Version 1.1.1)



' Reveals hashed passwords NOT original passwords



Const DBLSPACE As String = vbNewLine & vbNewLine



Const AUTHORS As String = DBLSPACE & vbNewLine & _







Const HEADER As String =



Const VERSION As String = DBLSPACE &



Const REPBACK As String = DBLSPACE &





Const ALLCLEAR As String = DBLSPACE &





DBLSPACE &



DBLSPACE &



DBLSPACE &









Const MSGNOPWORDS1 As String =





Const MSGNOPWORDS2 As String =







Const MSGTAKETIME As String =









精品文档



精品文档





Const MSGPWORDFOUND1 As String =













Const MSGPWORDFOUND2 As String =





DBLSPACE &









Const MSGONL


YONE As String =





ALLCLEAR & AUTHORS & VERSION & REPBACK



Dim w1 As Worksheet, w2 As Worksheet



Dim i As Integer, j As Integer, k As Integer, l As Integer



Dim m As Integer, n As Integer, i1 As Integer, i2 As Integer



Dim i3 As Integer, i4 As Integer, i5 As Integer, i6 As Integer



Dim PWord1 As String



Dim ShTag As Boolean, WinTag As Boolean



Updating = False



With ActiveWorkbook



WinTag = .ProtectStructure Or .ProtectWindows



End With



ShTag = False



For Each w1 In Worksheets



ShTag = ShTag Or tContents



Next w1



If Not ShTag And Not WinTag Then



MsgBox MSGNOPWORDS1, vbInformation, HEADER



Exit Sub



End If



MsgBox MSGTAKETIME, vbInformation, HEADER



If Not WinTag Then



MsgBox MSGNOPWORDS2, vbInformation, HEADER



Else



On Error Resume Next



Do 'dummy do loop



For i = 65 To 66: For j = 65 To 66: For k = 65 To 66



For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66



For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66



For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126



精品文档



精品文档



With ActiveWorkbook



.Unprotect Chr(i) & Chr(j) & Chr(k) & _



Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _



Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)



If .ProtectStructure = False And _



.ProtectWindows = False Then



PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _



Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _



Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)



MsgBox tute(MSGPWORDFOUND1, _





Exit Do 'Bypass all for...nexts



End If



End With



Next: Next: Next: Next: Next: Next



Next: Next: Next: Next: Next: Next



Loop Until True



On Error GoTo 0



End If



If WinTag And Not ShTag Then



MsgBox MSGONL


YONE, vbInformation, HEADER



Exit Sub



End If



On Error Resume Next



For Each w1 In Worksheets



'Attempt clearance with PWord1



ect PWord1



Next w1



On Error GoTo 0



ShTag = False



For Each w1 In Worksheets



'Checks for all clear ShTag triggered to 1 if not.



ShTag = ShTag Or tContents



Next w1



If ShTag Then



For Each w1 In Worksheets



With w1



If .ProtectContents Then



On Error Resume Next



Do 'Dummy do loop



For i = 65 To 66: For j = 65 To 66: For k = 65 To 66



For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66



For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66



For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126



精品文档



精品文档



.Unprotect Chr(i) & Chr(j) & Chr(k) & _



Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _



Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)



If Not .ProtectContents Then



PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _



Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _



Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)



MsgBox tute(MSGPWORDFOUND2, _





'leverage finding Pword by trying on other sheets



For Each w2 In Worksheets



ect PWord1



Next w2



Exit Do 'Bypass all for...nexts



End If



Next: Next: Next: Next: Next: Next




Next: Next: Next: Next: Next: Next



Loop Until True




On Error GoTo 0




End If




End With



Next w1



End If




MsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK, vbInformation, HEADER




End Sub


精品文档



精品文档




穷举破解


EXCEL



WORD


文档密码




摘要: 本文讨论了如何使用


VB


编程,通过穷举法解除


EXCEL


文档和


WORD


文 档的密码。并在破解过程


中加入了中断,以方便用户随时中断破解过程。




关键字:穷举法、解密、


EXCEL


文档、


WORD


文档、密码



Excel



Word


提供了多种


方法


限制访问用 户文档,


以免未经授权者的查看和更改。


但在信息化的今天,< /p>


用户


需要记忆的密码太多,一旦密码丢失,用户将无法打开或访问 该文档,给用户造成很大的损失。能否借助




机的高速运行,解开密码呢?通过尝试,笔者认为:在无法弄清


Excel



Word


加密算法的情况下,利用


穷举法尝试解密文档,是解密唯一的选择。



1.


实现原理


本程序选用


VB6.0


编写,并充分利用了


Office


组件中的对象库,穷举尝试各种口令,达到解密文档的目的。





巧用整数的取整及取余,产生密码字符串


Excel



Word


文档密码可 以是字母、数字、空格以及符号的任意组合,最长可达



15


个字符,且区分大小


写。


< p>
本程序的破解过程利用一个两层循环,产生选定字符的排列组合(尝试密码),其中外层循环控制密 码的位


数,内层循环生成


N


位密码的所 有排列组合。产生尝试密码的


方法


是:将一个

< br>N


位字符串密码(


password


作为一个



数值



,该



数值



每个位上的



数字



属于选定字符范围,且该


< br>数值



与一个整数(


X


)一一对应,


并满足以下条件:



0


≤X


≤ArrayLenN


-1



ArrayLen

< br>是选定密码字符范围的总字符数,如:仅选定数字时,


ArrayLen=10< /p>


;仅选定数字和小写字母时,


ArrayLen=10+26=3 6


);对


X


整除、取余


N-1


次,对每次的余数


Y


做 以下操作:


password = password + CharArray(Y)


(注:


CharArray


是存放选定 字符的一维数组),最后


做以下操作:


password = CharArray(X MOD ArrayLen) + password



产生的


password


就是整数


X


对应的


N



字符串。





利用


VB


的错误处理功能,尝试口令破解< /p>



当运行程序尝试一个密码时(用该密码打开文档),若密码错误 ,则会产生运行错误。为此,必须在尝试口


令前,使用


On


Error


语句打开一个错误处理程序;由于本程序是尝试各 种口令,当一个口令错误时,直接


尝试下一个口令即可,因此,应使用

< br>


“On Error Resume Next”


语句。



那么,


如何得知找到口令了呢?



VB


有一个内部错误对象


Err

< p>


它的



Number


属性中的值是用来确定发生错


误的原因。在尝试一个口令后,检 查



中的值,以确定该口令是否正确。





破解过程中的中断



利用穷举法解密对 系统资源的占用是十分惊人的,


在解密的过程中


CPU


的利用率几乎是


100%


若不加入解


密过程中的中断,


计算


机系统会处于一种假死机状态。为此,在破解过程的内循环中加入了


DoEvents< /p>


函数。


DoEvents


函数提供了一种 取消任务的简便方法,


它将控制切换到操作环境内核。


只要此环 境中的所有


应用



序都有机会响应待处 理事件,


应用


程序就又恢复控制。使用该函数的优点是:不会使 应用程序放弃焦点,且


后台事件能够得到有效处理。



2.


具体实现过程




精品文档


-


-


-


-


-


-


-


-



本文更新与2021-03-02 21:28,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/693328.html

(整理)EXCEL密码破解.的相关文章