更新於 2024/12/04閱讀時間約 4 分鐘

如何破解 Excel 密碼


在人員眾多的公司服務,總是會有人把 Excel 上鎖卻又忘記這是誰上的鎖,密碼是什麼,密碼要找誰問的情況,於是只好學會如何把Excel密碼移除的技能。

Excel可以加上密碼的種類有:

1.開啟密碼、防寫密碼:

另存新檔→工具→一般選項→保護密碼 或 防寫密碼


保護密碼,要輸入正確才能打開。



保護密碼:可以在開啟Excel時就驗證密碼,沒有輸入正確密碼不能打開。

保護密碼輸入錯誤不可以打開 Excel

如果是不要分享出去的Excel,可使用保護密碼,僅提供密碼給特定人員,達到保護Excel內資料的目的。








防寫密碼:可以提供沒有密碼者有唯讀的選擇。


防寫密碼:同樣在開啟Excel時就驗證密碼,沒有輸入正確密碼不能再寫入該Excel檔,但可以用唯讀方式打開。

如果要分享給大多數人,但又不想要資料被亂改,可以用這種方式保護Excel。


2.保護工作表:

保護工作表:可以針對選取的欄位…等,進行保護,防止使用者弄亂我們的Excel內容,並開放一些欄位讓使用者可以輸入。

3.保護活頁簿:

保護活頁簿,可以保護我們整個活頁簿的結構,防止使用者修改我們的活頁簿架構。

4.VBA專案保護密碼:

VBA 專案也可以設定密碼,讓使用者看不到我們的程式碼。

在專案根目錄上按滑鼠右鍵,選擇"VBAProject 專案屬性"。

再選擇"保護"頁籤,這裡可以勾選"鎖定專案以供檢視",再輸入密碼,就可以讓其他看不到我們的VBA程式碼。

VBA專案加上密碼後,使用者沒有密碼就不能看到我們的程式碼了。

破解Excel保護密碼的步驟:

1.確認Excel檔案格式需在Excel2007以後:

Excel副檔名必須是 *.xlsx 和 *.xlsm,如果你拿到的是 *.xls,並且可以用Excel打開,那就先把它另存成 xlsx 或 xlsm格式。

另存成 xlsx 或 xlsm (包含巨集程式)

2.將副檔名改為 *.zip :

.xlsx或.xlsm直接改成.zip

3.用7-zip 直接打開 zip檔:

用 7-zip 打開 ZIP檔後,我們可以看到它包含了幾個資料夾和一個 XML檔,我們這時再往下打開"xl"資料夾。



用"保護活頁簿",Excel會將資料包裝成加密檔


下圖是例外情況: 因為Excel建立者使用了"保護活頁簿"

如果你看不到"xl"資料夾,表示你中大獎了,Excel建立者使用了"保護活頁簿",這部分無法利用本文的方法進行破解。



打開 "xl" 資料夾後,可以看到更多資料夾和一些XML檔,如果是包含巨集的XLSM檔,就會有一個 "vbaProject.bin" 的檔案,這就我們的 VBA 專案檔案。如果我們要破解的是"保護工作表"的密碼,則再繼續打開"worksheets"資料夾。


"worksheets" 資料夾內會儲存所有 Excel 包含的工作表,這時就要看你要破解的"保護工作表"在那一個"sheet",就打開該xml編輯。




4.編輯"sheetXX.xml",破解"保護工作表" :

使用記事本編輯 "sheet3.xml",搜尋"sheetProtection",然後將整個<sheetProtection ... />刪除,再存檔,這樣就可以破解"保護工作表"的密碼了。

5.用"Hex Editor" 編輯 "vbaProject.bin",破解 VBA 專案密碼:

先將 VBA 專案檔 "vbaProject.bin" 從 ZIP中複製出來,再使用 "HEX Editor"打開編輯它。我這裡使用VSCode 加上"HEX Editor"外掛程式。

打開"vbaProject.bin"後,按下Ctrl+F,搜尋 "DPB=" ,在這裡把 "DPB=" 改成"DPX="再存檔。

然後把修改過的"vbaProject.bin"覆蓋取代掉 ZIP檔中的"vbaProject.bin",再存檔,最後把副檔名 ".zip",再改回".xlsm"。

6.重新打開 Excel檔:

這是重新打開excel檔一定會有錯誤訊息"包含不正確的鍵 'DPX'",這裡按"是"就好。

然後打開"Visual Basic 編輯器"時會再跳出一堆錯誤訊息 "無法預期的錯誤(XXXXX)",這裡一直按"確定"就好。

進到 VBA編輯視窗,再打開 VBAProject 專案屬性,選擇"保護"頁面,再把"鎖定專案以供檢視"的勾勾"取消"掉。 然後存檔離開,下次再打開VBA編輯器,保護密碼就被破解掉了。


這裡的破解方法,請小心使用,破解前或許先問問該Excel檔提供者,禮貌的詢問對方"是否"可以提供保護密碼,畢竟大家都在同一公司下工作,隨便破解別人的密碼,最後被對方知道,通常會被對方留下一些不好的印象。

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.