破解EXCEL2007的密码

xshzhao (斑竹)顶楼举报

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

8月30日 被wwwpc119 最后编辑

wwwpc119 (组长)2楼举报

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





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



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



一、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”并点击“执行”,密码就现形了。



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



二、软件破解法



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



1. Excel Key



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

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楼举报

谢谢组长提供这些信息,我的情况是:打开文件时就要输入密码(是整个文件被密码保护),不是工作表被密码保护,见下图



不过,我可以试试你讲的第二种方案(软件破解法)

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

xshzhao (斑竹)5楼举报

我试了Excel Key 和Advanced Office Password Recovery这个,都不成功,它们不支持OFFICE EXCEL2007.

试Excel Key这个的情况

当我安装了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:如果整个文件都被保护了,我这个方法就不管了,你就别浪费时间,抓紧找别的方法吧,哈哈)

一:EXCEL2003步骤

1、打开文件(废话);

2、【工具】→【宏】→【录制新宏】→输入名字,如:"pp";

3、停止录制(这样得到一个空宏);

4、【工具】→【宏】→【宏】,选"pp",点【编辑】;

5、删除窗口中的所有字符(只有几个),替换为下面的内容:

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



6、关闭编辑窗口

7、【工具】→【宏】→【宏】,选“AllInternalPasswords”,运行,确定两次,等一会儿(大概一分钟、两分钟的样子),再【确定】,然后就没有密码了!!

二、EXCEL2007 步骤

1、还是先打开文件;

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

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

4、删除所有字符,大概是这个样子的字符:

Sub aa()

End Sub

然后,复制一下代码(和上面的代码是一样的),代码略。

5、关闭窗口,点击绿色的运行按钮,选择宏“AllInternalPasswords”,点击【运行】;

6、弹出窗口,点击【确定】,然后又弹出个按钮,不管继续【确定】,等上一会儿,密码就么有了。

三、打完收工


破解EXCEL2007的密码的更多相关文章

  1. 破解压缩文件密码rarcrack

    破解压缩文件密码rarcrack   常见的压缩文件格式有ZIP.RAR和7z.这三种格式都支持使用密码进行加密压缩.前面讲过破解ZIP压缩文件,可以使用fcrackzip.对于RAR和7z格式,可以 ...

  2. 破解Mysql数据库密码

    破解Mysql数据库密码 点我,点我,破解mysql数据库密码:

  3. 几种破解MySQL root密码的几种方法:

    几种破解MySQL root密码的几种方法: 方法一 使用phpmyadmin,这是最简单的了,修改mysql库的user表,不过别忘了使用PASSWord函数. 方法二 使用mysqladmin,这 ...

  4. 查看哪些ip破解你ssh密码以及次数

    在互联网中,总有一些无聊的人,每天不断的猜解别人服务器的密码!作为linux服务器的管理员,我们应该了解哪些IP经常不断地扫描我们的SSH端口以尝试暴力破解,下面我们用一条命令简单列出哪些IP破解你S ...

  5. 用Hashcat每秒计算1.4亿个密码,破解隔壁WIFI密码

    Hashcat是啥 Hashcat是什么呢?Hashcat是当前最强大的开源密码恢复工具,你可以访问Hashcat.net网站来了解这款工具的详细情况.本质上,Hashcat 3.0是一款高级密码恢复 ...

  6. 【转】Win10开机密码忘了?教你破解Win10开机密码

    [PConline 技巧]Win10开机密码忘记了怎么办?这个问题很多人都遇到过,如何破解一台Win10电脑的开机密码呢(非BIOS开机密码)?其实很简单,利用下面这个方法,分分钟就能搞定. 一招破解 ...

  7. 利用 John the Ripper 破解用户登录密码

    一.什么是 John the Ripper ? 看到这个标题,想必大家都很好奇,John the Ripper 是个什么东西呢?如果直译其名字的话就是: John 的撕裂者(工具). 相比大家都会觉得 ...

  8. 破解无线网络密码-BT3如何使用2

    本教程只作学习和交流使用,任何其它商用与本人无关, 在开始教程之前, 首先需要用到几个软件,感兴趣的朋友看完贴子后可以去百度搜一下下载地址, 虚拟机: VMware Workstation 6.5 正 ...

  9. 六步破解win2008R2登录密码

    防火墙没有开启,win2008R被当成矿机,只好重新破解密码进去解决问题,试了好多方法,下列方法绝对实用简单. 破解2008登录密码的方法: 1.进入PE2.找到文件:windows\system32 ...

随机推荐

  1. Margin和Padding之间的区别

    margin ,padding body他们之间的区别就是 margin表示的是外边框的距离 padding表示的是内边框的距离 body表示的边框的距离

  2. Lambda表达式(C语言-gcc编译器)

    前言 先来啰嗦几句,身边的朋友,同事都喜欢在博客上记录自己在学习计算机编程技术路程上的一些问题和心得.就我个人而言,这是个好习惯,特别是在计算机编程领域,技术方向种类繁多,永无止境.所以,我也开始我人 ...

  3. acmer -- 最美的情书

    2014-09-29 20:51:45 POJ 2482 Fleeting time does not blur my memory of you. Can it really be 4 years ...

  4. Python之路【第二十一篇】:Django之Form组件

    Django之Form组件   Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 小试牛刀 1. ...

  5. Android Studio快捷键快速入门

    调整,Settings->IDE Settings->Editor->Appearance->Show line numbers  显示代码行数Settings->IDE ...

  6. Android手机出现"已安装了存在签名冲突的同名数据包"的原因及解决办法

    http://blog.csdn.net/dyllove98/article/details/8830264 如果你不是开发者:如果你在android上更新一个已经安装过较早版本软件时,安装到最后一步 ...

  7. centos 6.4 安装firefox使用的flashplayer插件

    1.centos安装完后居然没flash-plugin,去官网下载居然告诉已经安装了,可是firefox又的确放不出来flash视频. 2.google一下,去官网下载个tar.gz格式文件.把lib ...

  8. springmvc中url-pattern的大坑

    <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springfr ...

  9. 将表单数据转化为json数据

    /** * 将Form表单转成符合后台要求的json格式数据 * @param frm form表单Id * * @return json格式的数据 */function getFormJson(fr ...

  10. String类与Date类的转换

    public class DateTest { public static void main(String[] args) throws ParseException { Date date = n ...