2012年9月30日 星期日

xls 檔遇到 「無法修改鎖定的儲存格」 時, 略過密碼的方法

xls 檔出現 「無法修改鎖定的儲存格」 錯誤訊息 某些 xls 檔加上了 微軟的 IRM 機制 -- 當你用 LibreOffice 要修改其中某些被 "保護" 的欄位時, 會看見 "Protected cells can not be modified." 或 "無法修改鎖定的儲存格" 之類的錯誤訊息。 如果是在 excel 底下, 則會看見 "您嘗試變更的儲存格有密碼保護" 之類的錯誤訊息。 試著在分頁的 tab 上按右鍵, 欲取消 「保護工作表」, 卻會被詢問密碼。 這就是名為保護實為限制的 DRM 遙控數位枷鎖。 只要這麼做就可以略過密碼了:

  1. 將它另存新檔為 ods 格式。
  2. 建一個空的目錄, 在這裡解壓縮 ods 檔。
  3. 編輯其中的 content.xml 檔, 找到裡面所有的 "protected", 分別用適當的方式略過該段落。 例如在我所遇到的檔案裡面, 刪掉所有的 style:cell-protect="protected" 並且把所有的 table:protected="true" 改成 table:protected="false"
  4. 把這個目錄裡面的所有檔案重新壓縮成為一個新的 ods 檔。

然後回到 libreoffice 打開新的 ods 檔, 就可以編輯了。 不必知道密碼。 參考連結: 用錯誤訊息搜尋到的英文討論串: 問題 解決方式。 沒錯, 遙控數位枷鎖 只會侵犯閱聽者的自由, 卻不能保障創作者的權益 -- 仰賴 "security by obscurity"、 違背 "Kerckhoffs' principle"、 見不得人 的 DRM 演算法, 其實根本就是一場騙局。

ps. 麻煩讀者提供: (1) 在 excel 底下對應的錯誤訊息及畫面快照 (2) 不涉及隱私的、 可以公開貼在這裡、 被鎖住的 xls 樣本檔。 請用連結分享或 mail/噗給我 都可以。 我想改用 excel 的錯誤訊息當做文章標題, 做搜尋引擎最佳化, 幫助被欺騙的可憐微軟 excel 用戶, 讓他們知道為什麼應該改用 Libreoffice 或 OO.o :-) 感謝感謝!

xls 檔出現 「您嘗試變更的儲存格有密碼保護」 錯誤訊息 在 LibreOffice 裡面的上鎖/解鎖選單 [10/1 後續補充]: 謝謝 UGP 提供圖檔及 樣本檔。 lock.xls 以MS Office 2003製作; lock.ods 以LibreOffice 3.6.1.2製作; 解鎖密碼皆為lock。

6 則留言:

  1. 應該說,ODS比XLS格式好的地方在於ODS是開放格式,所以隨時可以解鎖

    回覆刪除
  2. 個人使用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

    回覆刪除
  3. 看起來 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

    回覆刪除
    回覆
    1. 反正那種 read-only 的鎖只是鎖好玩的,資料沒有加密,所以隨時移除密碼都是可以的。

      我唯一想到這種鎖好用的地方就是線上的資料庫系統,當 read-only 鎖上去之後,只有資料庫的管理員可以修改資料。重點是資料庫是 online 的系統,但 xls、ods 是 offline 編輯的,offline 的東西鎖唯讀就是沒用。

      刪除
  4. 謝謝大家.. 一直想等有空研究清楚再回應, 不過好像永遠都沒空(也沒動力)再碰這種檔案...

    回覆刪除
  5. 內容沒加密根本不obsecure阿

    回覆刪除