昨天有一個做工程造價的同學讓我幫她“破解”下工作表保護的密碼,不破解的話這個Excel表格是編輯不了的,當嘗試去修改文檔中的內容時,就會彈出一個對話框提示“嘗試修改的單元格在受保護的工作表中”,這個時候你肯定會去想,能不能把這個保護關了,於是你找到頂部菜單中的“審閱”,然後工具欄就會出現“撤銷工作表保護”的按鈕,很激動地點了一下,這個時候就變成了下面的場景:
這個時候可能會出現如下3中情況:
1、有密碼,哈哈哈;
2、大腦短路把密碼忘記了;
3、這個文檔是別人的,不知道密碼。
當你不知道密碼,又想去撤銷這個保護怎麼辦?
1、通過某些手段去知道這個密碼,比如通過窮舉;
2、繞過這個密碼保護,直接把它變成沒有保護。
第一種方式通常是通過“宏”去暴力破解,困難指數與密碼的複雜度相關。這裏介紹第二種直接“幹掉”保護開關的方式。那麼問題來了,我怎麼知道如何去關掉這個保護?
這就要回到Excel文件本身,我們知道,Excel文件實際上就是一個壓縮文件,Excel文檔拷貝複製到別的設備,這個保護仍然有效,這就告訴我們,密碼和保護開關都保存在這個Excel文檔中,關鍵是我們要去找到是在哪判斷這個文檔是被保護的,只要把這個參數改成不受保護即可。下面就是具體的步驟:
1、將Excel文檔的後綴改成 .zip
(如果你的電腦不顯示文件的擴展名,win10用戶請按照如下操作勾上“文件擴展名”,如果是win7用戶請自行google或百度如何顯示文件擴展名)
2、使用 7-zip壓縮工具打開壓縮包(別的壓縮工具也可以,我比較習慣使用7-zip)
3、打開下面這個目錄
xl/worksheets/
這個目錄下的sheet1.xml就是我們要找的文件,使用Notepad++打開這個文件,並搜索”sheetProtection”
4、只需要刪掉圖中紅色方框框起來的內容即可(即sheetProtection節點),刪完內容後替換掉壓縮包中的sheet1.xml即可。
5、替換原來的壓縮包中的sheet1.xml文件後,將文件的擴展名改回原來的 .xlsx,這個時候用Excel打開文檔,工作表就變成沒有保護的了。
最後研究一下被刪除的這段代碼都是什麼東西
<sheetProtection algorithmName="SHA-512"
hashValue="Qp2ANj6SKH6pd2Jv3WYjrWMvOzFRlwIRcf3EbPueSqnJ8ihPU5pYrs4wL3ahCkAUaN6gG8+EX12MpxywvX6Mvg==" saltValue="fvMYsSPur7ijWXkAa0m7tg=="
spinCount="100000"
sheet="1"
objects="1" s
cenarios="1"/>
屬性 | 含義 |
---|---|
algorithmName | 加密算法 |
hashValue | 密碼加密後的值 |
saltValue | 加密算法的加鹽 |
spinCount | 旋轉的次數?這個加密算法不太瞭解 |
sheet | 表格的數量,應該是指該文件的表格數量 |
objects | 對象數量,不知道是不是指加密表格的數量 |
scenarios | 腳本數量 |
看完這種加密方式,你還會選擇去暴力破解嗎?!
聲明:本文僅供娛樂參考使用,切勿損害他人利益。