破解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、打完收工

相關文章
相關標籤/搜索