破解Excel2010受保护的工作薄

今天同事遇到一个Excel的问题,他忘记了工作薄保护的密码,以至于无法再编辑文档内的数据。所以跑过来求助。这个问题最后解决了,但个人觉得比较有意思,所以把这个方法发布出来,也权当是给自己做个笔记吧。

首先确认,他所使用的版本为64位英文版Office2010。

如果不输入受保护的工作薄密码,那么当尝试编辑工作薄的内容时会得到以下报错

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

这时候我们可以用VBA宏代码的方法来破解工作薄保护密码:

1. 打开需要破解的Excel工作薄

可以看到现在菜单上高亮出来的是“Unprotect Sheet”,说明这个工作薄还是受保护状态

2.   接下来按ALT+F11或者找到“开发者工具”中的“查看代码”

3.   然后在上面白色空白处粘贴下面的所有代码,不需要更改代码中的任何字符

Sub PasswordBreaker()
   ‘Breaks worksheet password protection.
   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)
        Exit Sub
   End If
   Next: Next: Next: Next: Next: Next
   Next: Next: Next: Next: Next: Next
End Sub

4. 然后按F5或者点击“运行”按钮

5. OK,现在的Excel工作薄已经变成未受保护模式了。同时,还弹出了一个对话框,里面包含着一组密码,这个密码可用于同一个Excel工作薄中其他工作表破解使用

6. 现在再来看工作薄的菜单处的状态已经变成了“Protect Sheet”

时间: 2024-08-04 19:38:56

破解Excel2010受保护的工作薄的相关文章

破解Excel受保护输入密码

第一.打开Excel表,按ALT+F11弹出界面后,点击插入--->模块把如下代码黏贴进去接着按F5,接下来都是确定即可. 使用方法:打开要解除保护的EXCEL ALT+F11----插入模块----复制粘贴代码----F5============================代码===================================Public Sub AllInternalPasswords()' Breaks worksheet and workbook structur

【转载】如何破解受保护的excel密码

[工具] 1.电脑一台(安装有Microsoft Excel) 2.受保护excel一个 [步骤] 1.首先,打开受保护的Excel表格,按"ALT"+"F11"键,弹出如下的界面. 2.点击"插入"--"模块",出现下图 于空白处添加如下代码: Public Sub AllInternalPasswords() ' Breaks worksheet and workbook structure passwords. Bob

VBA取消工作表或工作薄密码保护

Sub 取消工作表保护() Dim sht As Worksheet For Each sht In Worksheets sht.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True , AllowFiltering:=True, AllowUsingPivotTables:=True sht.Protect DrawingObjects:=False, Contents:=True, Scenarios:= False,

我的异常-VS2012“System.AccessViolationException: 尝试读取或写入受保护的内存。”

我的系统是win7 64位 系统 安装的是 Visual studio 2012.从SVN上下载了源码,一个B/S的系统,能正常加载登陆页,但在输入登录信息要登录的时候,就报错了: --无可用源 System.AccessViolationException: 尝试读取或写入受保护的内存. 问了一下同组的人员,我们用的同样的源码,数据库也都是访问我的PC上的,但是其他人的可以正常访问.后来请教社河,试着把数据库连接字符串中的 IP地址,换成local,登录成功.现在问题可总结为:源码用IP访问本

编写高质量代码改善C#程序的157个建议——建议49:在Dispose模式中应提取一个受保护的虚方法

建议49:在Dispose模式中应提取一个受保护的虚方法 在标准的Dispose模式中,真正的IDisposable接口的Dispose方法并没有做实际的清理工作,它其实是调用了下面的这个带bool参数且受保护的的虚方法: /// <summary> /// 非密封类修饰用protected virtual /// 密封类修饰用private /// </summary> /// <param name="disposing"></param&

System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏

之前也遇到过这样的问题,一直未解决,最后重新安装系统,终于解决了. 没想到1个月以后,又出现了这种情况,让我奔溃,这次决定一定要找出原因: 调试后发现, connection.Open();以后报错,System.AccessViolationException: 尝试读取或写入受保护的内存.这通常指示其他内存已损坏,网上搜了很多都没有作用. 然后我发现 连接本地数据库是好的,连接远程数据库是报错了,但是在sql server Management中是好的 然后在VS的服务资源管理器中找到了问题

Access Toke调用受保护的API

ASP.NET Web API与Owin OAuth:使用Access Toke调用受保护的API 在前一篇博文中,我们使用OAuth的Client Credential Grant授权方式,在服务端通过CNBlogsAuthorizationServerProvider(Authorization Server的一个实现)成功发放了Access Token,并在客户端成功拿到了Access Token. 那Access Token有什么用呢?在OAuth中对Resource Server(比如

SQL SERVER 2012 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。 (System.Data)

标题: 连接到服务器------------------------------无法连接到 192.168.1.253.------------------------------其他信息:尝试读取或写入受保护的内存.这通常指示其他内存已损坏. (System.Data)------------------------------按钮:确定------------------------------管理员身份运行 cmd -> netsh winsock reset***************

Mcafee Email-Gateway 阻挡受保护附件

在Email-Gateway设立之后,当收外部邮件带有密码保护的 Word,Excel, RAR文件时,Email-gateway 会默认阻挡,解决方法如下: 1.了解阻挡的邮件使用哪个策略: 2.点击电子邮件 --->内容处理--->遭破坏或无法读取的内容--->受保护的文件 3. 将选项改为 "允许通过(监控)": 4.  确认