破解EXCEL2007的密码

破解EXCEL2007的密码

xshzhao (斑竹)顶楼举报

我有一个EXCEL2007文件(后缀是XLSX),因为设置了打开密码.如今密码搞忘了,这个文件对我很重要. 我试过了Office Password Remover这个软件破解,没有成功.这个软件只对EXCEL2003有效.谁知道,请帮个忙!!html

8月30日wwwpc119 最后编辑 c#

wwwpc119 (组长)2楼举报

Excel 2007密码保护的解除方法及原理


Excel弹出“您试图更改的单元格或图表受保护,于是是只读的。若要修改受保护单元格或图表,请先使用‘撤消工做表保护’命令(在‘审阅’选项卡的‘更改’组中)来取消保护。可能会提示您输入密码。”窗口。

出现这种状况,应该怎么解决呢?通过研究,找到了两种破解Excel工做表保护码的方法。

1、VBA宏代码破解法:

第一步:打开该文件,先解除默认的“宏禁用”状态,方法是点击工具栏下的“选项”状态按钮,打开“Microsoft Office安全选项”窗口,选择其中的“启用此内容”,“肯定”退出;

再切换到“视图”选项卡,点击“宏”→“录制宏”,出现“录制新宏”窗口,在“宏名”定义一个名称为:PasswordBreaker(图3),点击“肯定”退出;

第二步:再点击“宏”→“查看宏”,选择“宏名”下的“PasswordBreaker”并点击“编辑”,打开“Microsoft Visual Basic”编辑器,用以下内容替换右侧窗口中的全部代码:

Sub PasswordBreaker()
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer
On Error Resume Next
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
ActiveSheet.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 ActiveSheet.ProtectContents = False Then
MsgBox "One usable password is " & Chr(i) & Chr(j) & _
Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
ActiveWorkbook.Sheets(1).Select
Range("a1").FormulaR1C1 = Chr(i) & Chr(j) & _
Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
Exit Sub
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
End Sub

第三步:再点击“宏”→“查看宏”,选择“宏名”下的“PasswordBreaker”并点击“执行”,密码就现形了。

第四步:切换“审阅”选项卡,点击“撤消工做表保护”,而后输入密码便可解除锁定。

2、软件破解法

有许多专门为破解Excel各类密码而制做的软件,Excel Key与Advanced Office Password Recovery就是其中的佼佼者。它们的使用方法简单且破解速度极快。

1. Excel Key

下载(下载地址:http://www.mydown.com/soft/183/183131.html)安装完后运行软件,点击工具栏“Recovery”按钮,找到要破解的文件,软件立刻就能够解出密码了。
windows

2. Advanced Office Password Recovery

下载(下载地址:http://www.mydown.com/soft/utilitie/security/268/410768.shtml)安装完后运行软件,点击工具栏“Open File”按钮,打开要破解的Excel文件,立刻就能够看到解出的密码了。

能够看出,用以上方法读出的密码彻底不一样,但它们确实都可以解除该工做表的密码保护,这实在是个有趣的问题。

在网上查找了许久,终于找到比较圆满的解释答案:

当Excel工做表采用密码保护时,就会生成一个16位(双字节)长hash值。当输入密码进行验证时,真正进行比较的就是这个hash值。事实上,有不少不一样的密码均可以生成一样的hash值。

你们能够试试:

当你用“test”(不含双引号)做为Excel工做表保护密码,你一样能够用“zzyw”(一样不含双引号)这个密码进行解锁。怎么样,神奇吧?
 
安全

wwwpc119 (组长)3楼举报

给你找了个文章 参考一下 看看 编辑器

 

xshzhao (斑竹)4楼举报

谢谢组长提供这些信息,个人状况是:打开文件时就要输入密码(是整个文件被密码保护),不是工做表被密码保护,见下图
IPB Image
不过,我能够试试你讲的第二种方案(软件破解法)
工具

引用
有许多专门为破解Excel各类密码而制做的软件,Excel Key与Advanced Office Password Recovery就是其中的佼佼者。它们的使用方法简单且破解速度极快。

 

xshzhao (斑竹)5楼举报

我试了Excel Key 和Advanced Office Password Recovery这个,都不成功,它们不支持OFFICE EXCEL2007.
试Excel Key这个的状况IPB Image
当我安装了Advanced Office Password Recovery这个以后,有一个说明(以下)Advanced Office Password Recovery 4.0 专业版==================
针对 MS Office 系列的密码破解工具 AOPR 可破解 95~03 版的各种 Office 文档,本软件分精简、标准、专业三个版本,而本专业版即是其中支持的格式最全、开放的特性最多的一款。
=======================================
因为说明中讲可破解95~03 版的各种 Office 文档(没有2007),我想试一下是否能破解2007,因而我建了一个新EXCEL2007文件,设了一个简单的a密码(若这个能破解,那么个人那个重要文件就有救了),但这个最简单的a都解不成功,看来也不支持2007.
这个2007的密码真难解,我问过了不少朋友,并且在网上找了不少相关信息,也拿它没办法。






=================================================================================


excel2007 密码破解教程 
Microsoft发布Excel 2007时,引入了新的文件类型,即xlsx、xlsm、xltx,等等,称之为Open XML。由于这种新文件类型实质上是包含XML文件的包。若是将一个xlsx文件的扩展名修改成zip,那么可以看到组成该Excel文件的全部xml文档。 
新的Open XML文件类型带来了许多好处。其主要的好处之一是能够经过操做组成文件的XML文档来简单地修改Excel 2007文件的内容和属性。 
是的,当处理Open XML文件时,发现能够经过简单地编辑Excel文件里的xml文件,从而简单地移除工做表保护。 
假设有一个工做簿,其工做表Sheet1被保护。如今,我但愿取消该工做表的保护,可是不知道密码。怎么办呢?幸亏这是Excel 2007,咱们能够利用XML来移除工做表保护。 
 
步骤1 首先备份工做簿,以防万一。 步骤2 修改工做簿文件的扩展名为zip。 
 
步骤3 解压该压缩文件。 
步骤4 找到表明目标工做表的XML文件(在xl\worksheets文件夹中)。 
                                                                                                  




Excel 2010信息安全控制设置工做簿的打...隐藏工做表和保...






 
步骤5 使用任一XML编辑器打开表明目标工做表的xml文档。 步骤6 找到“sheetProtection”标签并移除该标签所在的行。 
 
步骤7 保存已编辑的XML文档,用其取代原Zip文件中相应的XML文档。 步骤8 将文件的扩展名修改回xlsx。 
 
至此,工做表保护已解除。 注意: 
在XML文件中看到的任何密码都不是真正的密码。 这种方法不能取消对整个工做簿的保护。










=====================================================================

破解EXCEL密码(测试EXCEL2003和EXCEL2007经过)

若是你有份EXCEL文档,本身或者别人设置了密码保护,你却忘记了活不知道,那可麻烦了,呵呵。不过仍是有补救的方法,这个方法是去除密码,但不是找出密码,请注意。废话少说,直接说破解方法。(PS:若是整个文件都被保护了,我这个方法就无论了,你就别浪费时间,抓紧找别的方法吧,哈哈)oop

一:EXCEL2003步骤post

一、打开文件(废话);
二、【工具】→【宏】→【录制新宏】→输入名字,如:"pp";
三、中止录制(这样获得一个空宏);
四、【工具】→【宏】→【宏】,选"pp",点【编辑】;
五、删除窗口中的全部字符(只有几个),替换为下面的内容:测试


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 & _
"Adapted from Bob McCormick base code by" & _
"Norman Harker and JE McGimpsey"
Const HEADER As String = "AllInternalPasswords User Message"
Const VERSION As String = DBLSPACE & "Version 1.1.1 2003-Apr-04"
Const REPBACK As String = DBLSPACE & "Please report failure " & _
"to the microsoft.public.excel.programming newsgroup."
Const ALLCLEAR As String = DBLSPACE & "The workbook should " & _
"now be free of all password protection, so make sure you:" & _
DBLSPACE & "SAVE IT NOW!" & DBLSPACE & "and also" & _
DBLSPACE & "BACKUP!, BACKUP!!, BACKUP!!!" & _
DBLSPACE & "Also, remember that the password was " & _
"put there for a reason. Don't stuff up crucial formulas " & _
"or data." & DBLSPACE & "Access and use of some data " & _
"may be an offense. If in doubt, don't."
Const MSGNOPWORDS1 As String = "There were no passwords on " & _
"sheets, or workbook structure or windows." & AUTHORS & VERSION
Const MSGNOPWORDS2 As String = "There was no protection to " & _
"workbook structure or windows." & DBLSPACE & _
"Proceeding to unprotect sheets." & AUTHORS & VERSION
Const MSGTAKETIME As String = "After pressing OK button this " & _
"will take some time." & DBLSPACE & "Amount of time " & _
"depends on how many different passwords, the " & _
"passwords, and your computer's specification." & DBLSPACE & _
"Just be patient! Make me a coffee!" & AUTHORS & VERSION
Const MSGPWORDFOUND1 As String = "You had a Worksheet " & _
"Structure or Windows Password set." & DBLSPACE & _
"The password found was: " & DBLSPACE & "$$" & DBLSPACE & _
"Note it down for potential future use in other workbooks by " & _
"the same person who set this password." & DBLSPACE & _
"Now to check and clear other passwords." & AUTHORS & VERSION
Const MSGPWORDFOUND2 As String = "You had a Worksheet " & _
"password set." & DBLSPACE & "The password found was: " & _
DBLSPACE & "$$" & DBLSPACE & "Note it down for potential " & _
"future use in other workbooks by same person who " & _
"set this password." & DBLSPACE & "Now to check and clear " & _
"other passwords." & AUTHORS & VERSION
Const MSGONLYONE As String = "Only structure / windows " & _
"protected with the password that was just found." & _
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
Application.ScreenUpdating = False
With ActiveWorkbook
WinTag = .ProtectStructure Or .ProtectWindows
End With
ShTag = False
For Each w1 In Worksheets
ShTag = ShTag Or w1.ProtectContents
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 Application.Substitute(MSGPWORDFOUND1, _
"$$", PWord1), vbInformation, HEADER
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 MSGONLYONE, vbInformation, HEADER
Exit Sub
End If
On Error Resume Next
For Each w1 In Worksheets
'Attempt clearance with PWord1
w1.Unprotect 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 w1.ProtectContents
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 Application.Substitute(MSGPWORDFOUND2, _
"$$", PWord1), vbInformation, HEADER
'leverage finding Pword by trying on other sheets
For Each w2 In Worksheets
w2.Unprotect 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

六、关闭编辑窗口
七、【工具】→【宏】→【宏】,选“AllInternalPasswords”,运行,肯定两次,等一下子(大概一分钟、两分钟的样子),再【肯定】,而后就没有密码了!!this

2、EXCEL2007 步骤

一、仍是先打开文件;

二、选择【视图】选项卡,点击【宏】,或者直接用快捷键【ALT+F8】打开;

三、在“宏名”下输入名称,如:“pp”,点击【建立】按钮;

四、删除全部字符,大概是这个样子的字符:

Sub aa()

End Sub
而后,复制一下代码(和上面的代码是同样的),代码略。
五、关闭窗口,点击绿色的运行按钮,选择宏“AllInternalPasswords”,点击【运行】;

六、弹出窗口,点击【肯定】,而后又弹出个按钮,无论继续【肯定】,等上一下子,密码就么有了。

3、打完收工

相关文章
相关标签/搜索