恍然小悟,去掉Excel的worksheet(工作表)保护的新方法
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
廣為認(rèn)知的方法是,運(yùn)行一段猜測密碼的VBA(https://uknowit.uwgb.edu/page.php?id=28850),幾十秒就可以找到代替密碼,因?yàn)槊艽aHash很短所以密碼有多個(gè)。但是Excel2013里密碼Hash很長所以密碼幾乎是唯一的,依靠這個(gè)VBA肯定找不到密碼。
注意,現(xiàn)在說的不是那種一打開就要輸入密碼的excel文件,那個(gè)是文件整體加密的,必須暴力破解出密碼的。現(xiàn)在說的是文件能打開,只是里面的有的部分不能修改。
我雖然手頭沒有Excel 2013,但是推測,這個(gè)worksheet保護(hù),其實(shí)沒有對文件內(nèi)容加密,僅僅是做了些標(biāo)記,說不讓修改某些制定的cell而已,應(yīng)該是去掉了標(biāo)記就可以自由修改了的。在Office 2010上實(shí)驗(yàn)了,的確沒問題,只要把文件按照下面的方法修改一下就好了:
把xlsx文件后綴改成zip,解壓。 ?(如果是xls,那就先保存成xlsx格式)
解壓后的目錄結(jié)構(gòu)大致是:
頂層目錄_res目錄docProps目錄xl目錄[Content_Types].xml....在解壓后的xl/worksheets目錄里,找到sheet1.xml, sheet2.xml...,打開
把里面的<sheetProtect.....>這句給刪除
<sheetProtection?objects="1"?password="????"?scenarios="1"?sheet="1"/>把頂層目錄的東西壓縮,但是不包括頂層目錄。把壓縮有的文件后綴名改成xlsx,這就是可以自由修改的xls文件了。
估計(jì)這個(gè)方法應(yīng)該在Excel2013里可以使用的。
這個(gè)方法就和去除pdf的復(fù)制打印保護(hù)的方法差不多,不需要密碼,只需要用qpdf工具修改一下就好了。
qpdf --decrypt old_pdf_file new_pdf_file
轉(zhuǎn)載于:https://my.oschina.net/osexp2003/blog/504904
總結(jié)
以上是生活随笔為你收集整理的恍然小悟,去掉Excel的worksheet(工作表)保护的新方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Memcache查看运行状况
- 下一篇: Xcode的SVN提示The reque