乔山办公网我们一直在努力
您的位置:乔山办公网 > office365 > office2007破解-老板让我改报表,我却忘了文件密码...别急,一分钟无痕破解

office2007破解-老板让我改报表,我却忘了文件密码...别急,一分钟无痕破解

作者:乔山办公网日期:

返回目录:office365

月中了,我加班快一周做出来的财务报告,终于做出来了!!!!!


为了保护我的小宝贝不被乱改,我及其郑重的设置了一个及其复杂的密码...


谁知道!老板让我在财务报告中加上之前漏掉的一笔还款,而我试了一天密码都没试出来!!!


在问了芸豆小编后,我花了一分钟就破解了密码,打开了Excel,更改数据,走向人生巅峰!


不说了加班去了,让芸豆教你


悄悄吐槽:会计怎么能这么粗心呢,有小伙伴反应大多数方法在office2016无法使用,而我,机智的芸豆找到了2016也可以破解的方法,快来试试吧~


1、用AOPR软件破解——亲测有效


AOPR是ADVANCED OFFICEPASSWORD RECOVERY的缩写。这是一款市面上主流的office密码破解工具,可对95-2016版本的任何Office文档进行解密。


但AOPR的致命缺点是——要收费,当然,还有免费版本的,又不过呢,免费的只能破解4个字符以内的密码。这对很多人来说已经够了。


下面,我们一起来试一试吧。这个软件下载和安装都非常方便


软件获取办法:


AOPR官方网下载:http://www.passwordrecovery.cn/


如果英文不好的,还可以选择中文显示


下面是破解的结果,一切密码都暴露无遗呀(不骗你,真的只用了5秒)


这也说明了office excel 加密的安全级别并不高


(如果软件运行不了,把杀毒软件关了再试试吧)


2、用VBA代码破解


要输入VBA,首先必须打开工作簿才行,所以该法不适合“打开工作簿需要密码”的情况。


很多人觉得VBA太难,不懂操作。其实,你不需要懂VBA,只需要懂复制黏贴就可以了。


具体操作如下:


打开需要破解的工作簿——调出VB编辑器(Alt+F11)——粘贴下面这段代码——运行代码(F5)


代码1如下(适合office2007-2016)


Sub PJ() Dim sht AsWorksheet For Each sht InWorksheets sht.Protect AllowFiltering:=True sht.Unprotect NextEnd Sub

代码2如下(适合office97-2003)


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

3、通过修改源代码破解


大家发现没有,office2007开始,文件的后缀名发生了改变,比如xls变为xlsx。


而xlsx格式本质上就是压缩包,我们可以通过修改后缀名直接获取excel的源文件。


① 修改Excel后缀名为.rar(期间会提出警告,但不用理它,点“是”即可)


② 找到需要破解的工作表,具体路径为:


压缩包.rarxlworksheets


③ 将sheet2.xlm文件(此处根据自己需要选择文件)复制到桌面;用记事本打开,查找到加密代码,删掉;再将文件复制回压缩包替换掉老文件即可。


加密代码通常可以从后往前找,含有“protectedRange algorithmName”的整个<>里面内容都是加密代码,都要删掉,包括<>本身。


④ 最后一步,将压缩包的后缀名改回.xlsx,大功告成。此时工作表的密码已经被移除了。


以上步骤看起来很复杂,理顺一下思路,原理非常简单,我们只是把源代码的加密代码部分删掉了而已。


最后,如果只是工作表加密了,我们要修改其中的数据,完全不必大费周章,只需把数据复制到了一个工作表即可。


这也提醒我们,要想别人不轻易盗取你的数据,在设置保护工作表的时候记得去掉“选定单元格”选项前面的√。


关注芸豆会计回复【Excel】即可获得更多Excel黑科技哦~


本文标签:office2007破解(9)

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网