[2022/8] 推薦 OfficerBreaker 更簡單。
某些 xls 檔加上了 微軟的 IRM 機制 -- 當你用 LibreOffice 要修改其中某些被 "保護" 的欄位時, 會看見 "Protected cells can not be modified." 或 "無法修改鎖定的儲存格" 之類的錯誤訊息。 如果是在 excel 底下, 則會看見 "您嘗試變更的儲存格有密碼保護" 之類的錯誤訊息。 試著在分頁的 tab 上按右鍵, 欲取消 「保護工作表」, 卻會被詢問密碼。 這就是名為保護實為限制的 DRM 遙控數位枷鎖。 只要這麼做就可以略過密碼了:
- 將它另存新檔為 ods 格式。
- 建一個空的目錄, 在這裡解壓縮 ods 檔。
- 編輯其中的 content.xml 檔, 找到裡面所有的 "protected",
分別用適當的方式略過該段落。
例如在我所遇到的檔案裡面,
刪掉所有的
style:cell-protect="protected"
並且把所有的table:protected="true"
改成table:protected="false"
。 - 把這個目錄裡面的所有檔案重新壓縮成為一個新的 ods 檔。
然後回到 libreoffice 打開新的 ods 檔, 就可以編輯了。 不必知道密碼。 參考連結: 用錯誤訊息搜尋到的英文討論串: 問題 及 解決方式。 沒錯, 遙控數位枷鎖 只會侵犯閱聽者的自由, 卻不能保障創作者的權益 -- 仰賴 "security by obscurity"、 違背 "Kerckhoffs' principle"、 見不得人 的 DRM 演算法, 其實根本就是一場騙局。
ps. 麻煩讀者提供: (1) 在 excel 底下對應的錯誤訊息及畫面快照 (2) 不涉及隱私的、 可以公開貼在這裡、 被鎖住的 xls 樣本檔。 請用連結分享或 mail/噗給我 都可以。 我想改用 excel 的錯誤訊息當做文章標題, 做搜尋引擎最佳化, 幫助被欺騙的可憐微軟 excel 用戶, 讓他們知道為什麼應該改用 Libreoffice 或 OO.o :-) 感謝感謝!
[10/1 後續補充]: 謝謝 UGP 提供圖檔及 樣本檔。 lock.xls 以MS Office 2003製作; lock.ods 以LibreOffice 3.6.1.2製作; 解鎖密碼皆為lock。
應該說,ODS比XLS格式好的地方在於ODS是開放格式,所以隨時可以解鎖
回覆刪除個人使用MS Office2003測試仿造類似的結果
回覆刪除看來該功能的密碼是使用者自己設定的,提供給製作文件者自己將表格鎖定用
詢問密碼提示視窗:
http://i.imgur.com/RbCoG.png
Libreoffice中也有此功能,並且也可以經由主文所述自行修改content.xml檔案解除鎖定,目前看起來是LibO將xls轉換成ods後即等價於LibO內建的文件保護功能
LibO文件保護功能:
http://i.imgur.com/9YDna.png
大概推論他們的功能
保護工作表:鎖定目前此sheet的表格內容
保護文件:鎖定整個文件,不可新增、刪除、修改任何sheet
MS office與LibO試算表文件保護範例檔案:
http://www.mediafire.com/?n76xnnf5632i1n4
看起來 Gnumeric 可以直接解鎖 而且不問密碼
回覆刪除http://i.imgur.com/IbcO6.png
http://i.imgur.com/z56JI.png
http://i.imgur.com/CmnTz.png
http://i.imgur.com/yLXX3.png
反正那種 read-only 的鎖只是鎖好玩的,資料沒有加密,所以隨時移除密碼都是可以的。
刪除我唯一想到這種鎖好用的地方就是線上的資料庫系統,當 read-only 鎖上去之後,只有資料庫的管理員可以修改資料。重點是資料庫是 online 的系統,但 xls、ods 是 offline 編輯的,offline 的東西鎖唯讀就是沒用。
謝謝大家.. 一直想等有空研究清楚再回應, 不過好像永遠都沒空(也沒動力)再碰這種檔案...
回覆刪除內容沒加密根本不obsecure阿
回覆刪除