大多數被保護的 PDF 根本沒有鎖上,這一頁在動手之前就會說明。一份 PDF 可以帶著兩種完全不同的東西。開啟密碼是真的:沒有它,這個檔案誰都讀不了,這裡也找不出來。限制,不許列印、不許複製、不許編輯,則不是。只帶著限制的檔案誰都打得開,這就意味著它必須自己裝著推匯出自身金鑰所需要的一切,因為你的閱讀器就是這麼推出來的。真正攔著閱讀器不讓列印的,是文件裡面的一個許可權欄位,靠的是行為端正的程式之間的約定。Adobe 從一開始就是這麼寫的。把它去掉不是在破解什麼,只是不再自願配合。這一頁會告訴你手上是兩種裡的哪一種,並且只在真的需要密碼的時候才開口要。
Google 載入了什麼,又沒拿到什麼。廣告和統計指令碼來自 Google。這兩個都沒有拿到關於你文件的任何東西:不是檔案,不是某一頁,不是檔名、大小、頁數、密碼,也不是這個檔案被什麼保護著。每一行讀取、解密或者寫出 PDF 的程式碼都由這個源站發出,並且列在程式碼儲存庫裡。
打賞按鈕載入了什麼,又沒拿到什麼。頁首上那個「Buy me a coffee」按鈕,是由 cdnjs.buymeacoffee.com 的一段指令碼畫出來的,字型取自 Google Fonts。它就是一個連結,僅此而已:它不上報訪問,也拿不到任何關於你或者你文件的東西。你不點它就什麼都不會發生,而點下去要去的是別人的網站。
如果公司的安全軟體警告說有上傳。它盯著瀏覽器裡選擇檔案的那一刻,而且無法知道頁面是否打算把它發出去——所以在選擇時就發出警告。這裡什麼都不會發出去:開啟瀏覽器的開發者工具,切到網路,然後選一個檔案。沒有任何請求帶著它,除了這個頁面自己的本地預覽之外,根本沒有任何請求。同樣的檢查,你們的 IT 同事半分鐘就能做完。
1 選那份被保護的 PDF
2 看看它上面有什麼
一份 PDF 可以用兩種看起來很像、其實完全不同的方式鎖上。一種是開啟密碼,沒有密碼誰都過不去。另一種是一組限制,不許列印、不許複製、不許編輯,而這個檔案本身誰都打得開,那把鎖是你的閱讀器同意去遵守的一個請求,不是任何密碼學上的東西。這裡會說這份文件帶的是兩種裡的哪一種。
# PDF 解鎖 把密碼和那些限制一起去掉
大多數「加了密」的 PDF 其實根本不用密碼。這一頁會先告訴你手上是哪一種,再動它。
> 在瀏覽器裡去掉 PDF 的密碼,以及不許列印、不許複製、不許編輯這些限制。大多數被保護的檔案根本不用密碼,這一頁會告訴你手上是哪一種。什麼都不上傳,也從不猜密碼。
本頁是一個完全在你的瀏覽器裡執行的互動式工具,地址是 https://abox.tools/zh-TW/unlock-pdf/。你交給它的任何內容都不會被上傳。下面是這個頁面用文字對該工具的全部說明;要使用它,請開啟這個地址。
## 你的文件**不會上傳**。這裡根本沒有伺服器。
你選的那份文件,開啟、解密、寫回,全都在這臺機器的記憶體裡完成,用的是從這個地址發來的程式碼。這裡根本沒有能做上傳的東西,這一頁的另一頭也沒有伺服器可以接收。檔案不會離開這個分頁,你打進去的密碼也不會。
- ✗ 不上傳
- ✗ 不註冊
- ✓ 斷網可用
- ✓ 開源
- ✓ 檔案留在你的裝置上
## 怎麼去掉 PDF 的密碼或者那些限制
1. **選那份被保護的 PDF。** 一次一份文件。瀏覽器直接從你的硬碟上把它讀進來,而第一件發生的事,是拿一個空密碼去試它,而這正是大多數被保護的檔案能開啟的原因,因為它們大多數根本就沒被關上過。
2. **看這一頁找到了什麼。** 它會說這個檔案帶的是兩種保護裡的哪一種、用的是什麼方案、那個方案在今天值多少,並且列出這份文件請閱讀器遵守的每一條限制:列印、複製、編輯、註解、填表單、調整頁序,甚至朗讀給看不見的人聽。
3. **輸密碼,但只在它開口要的時候。** 密碼框只在空密碼沒能開啟這份文件的時候才出現,而那也是密碼唯一有用的時候。文件的兩個密碼哪個都行,開啟它的那個,或者解除限制的許可權密碼。這裡什麼都不猜,你打進去的東西也留在這個分頁裡。
4. **去掉它,然後讀那句寫著「已核對」的話。** 文件會用它自己的金鑰解密,再寫回去,出來的檔案裡連加密字典都沒有。接著做好的檔案會在這裡被重新開啟一次,不給密碼,用的是一個碰到加密文件就拒絕的讀取器。要是它打不開,或者頁數跟原來對不上,你不會拿到下載,只會拿到一句說明。
## 說得更細的版本
[How to unlock a PDF, and which kind of locked it is](https://abox.tools/zh-TW/guides/unlock-a-pdf/): A PDF that will not print and a PDF that will not open are two different problems with one name. What each of them actually is, why one comes off in a click and the other cannot come off at all, and how to tell which you have.
## 工具箱裡還有
- [PDF 塗黑](https://abox.tools/zh-TW/redact-pdf/): 字從檔案裡刪掉,然後再搜一遍這個檔案來證明。
- [PDF 轉 CSV](https://abox.tools/zh-TW/pdf-to-csv/): 把 PDF 裡的每一張表都找出來,變成表格軟體打得開的一行一行。
- [圖片轉 PDF](https://abox.tools/zh-TW/images-to-pdf/): 把你的圖片裝進一個文件。
- [文件掃描](https://abox.tools/zh-TW/document-scanner/): 把紙拍下來,回來的是一份看起來像掃描的東西。
## 常見問題
### 我需要密碼嗎?
通常不需要,而且選好檔案之後一秒之內這一頁就會告訴你。大多數「被保護」的 PDF,銀行對帳單、工資單、匯出的報表、辦公軟體那個「限制編輯」框做出來的東西,都是誰都打得開的,它們只是帶著一份請閱讀器不要做的事情清單。這些一鍵就能去掉,不用密碼。真正在你開啟時問你要密碼的,是另一種,那一種你得有密碼。
### 我沒有密碼的 PDF,它能開啟嗎?
不能,而且它根本不去試。這個工具裡沒有字典、沒有詞表,也沒有任何暴力搜尋,你可以自己讀 `src/crypt.js`,裡面連一個迴圈都沒有。對最老的那批 40 位金鑰的文件來說,搜尋確實是奏效的,正因為如此,這條拒絕才必須寫下來,而不是留給人去假定。如果你把自己文件的密碼弄丟了,這一頁幫不了你,任何一個誠實的頁面也幫不了。
### 兩個密碼有什麼區別?
一份 PDF 裡有兩個位置。*開啟密碼*是閱讀器向你要的那個,沒有它檔案就打不開。*許可權密碼*解除的是那些限制,列印、複製、編輯,而一份文件常常只有許可權密碼、根本沒有開啟密碼,這就是它誰都打得開、卻還是不肯列印的原因。這個工具兩個都收,並且會告訴你它究竟是靠哪一個進去的。
### 去掉這些限制合法嗎?
這取決於是哪份文件、你在哪裡,而且這是一個關於你對這個檔案有什麼權利的問題,不是關於技術的問題。能明說的是這個格式本身是怎麼回事:那些限制是文件裡面的一個欄位,閱讀器按約定去遵守它,它不是一道密碼學的牆,而 Adobe 從它被引入的那天起就是這麼寫的。這個工具是給你有權使用的文件用的,你自己那份打不出來的對帳單、你花錢買了卻複製不了的報告、你需要重排頁序的掃描檔。如果這個檔案本來就不該歸你用,這裡的任何東西都改變不了這一點。
### 它支援哪些加密方式?
公開發布過的每一種:40 位和 128 位的 RC4(修訂 2 和 3)、AES-128(修訂 4),以及 AES-256 的兩種形態,2008 年那個後來被撤回的版本和當前 PDF 2.0 的版本(修訂 5 和 6)。不支援的是基於證書的加密,那種情況下金鑰屬於一張智慧卡或者一個金鑰庫而不是一個密碼,另外還有 Adobe 那個唯一沒有公開的變體。這兩種都會被拒絕,並且說明它們分別是什麼,而不是含糊地失敗。
### 做完之後文件看上去會不一樣嗎?
不會。什麼都不會被重新渲染、重新編碼或者重排:每一頁的繪製指令、每一個嵌入字型、每一張圖片,都原樣複製過去。文字還能選,掃描檔還是原來的解析度,什麼都不會移位。檔案可能會小一點,因為一次重寫會把早先編輯留在裡面、已經被取代的舊物件丟掉。
### 帶簽名的文件會怎麼樣?
它的簽名會失效,而且沒有辦法繞過去。簽名覆蓋的是它當初籤的那個檔案的確切位元組,所以任何改動,任何程式做的,包括當初籤它的那個程式,都會讓它失效。這正是簽名的意義所在。這個工具寫的是一個新檔案,發現原件帶簽名時會在結果裡說明。把你的原件留著:那一份仍然是簽過名的。
### 我的文件或者密碼會被上傳到什麼地方嗎?
不會。檔案是你自己的瀏覽器在你自己的硬體上讀取、解密、寫出的,密碼進的是一段跑在這個分頁裡的金鑰推導。這個工具沒有伺服器那一端,頁面的 `Content-Security-Policy` 列出了它可以聯絡的每一個地址,其中沒有一個屬於本站。最簡單的驗證辦法,是把網線拔掉,照樣用這一頁。
### 我怎麼知道保護真的沒了?
因為這個工具會在你的機器上核對,並且把結果給你看。檔案寫好之後,它會被交給本站其他 PDF 工具用的同一個讀取器,一個碰到加密文件就直接拒絕的讀取器,而它必須在不給密碼的情況下開啟,並且頁數跟原來一樣。要是過不了,這次執行就報告為失敗,什麼都不會給你下載。你事後也可以自己驗:用任何一個閱讀器開啟它,去看文件屬性,那裡每一項許可權現在都應該寫著「允許」。
### 有大小限制嗎?要錢嗎?
工具裡沒有寫死任何限制。限制是你自己的機器:文件在處理的時候是放在記憶體裡的,幾百 MB 的量,一臺筆記本吃得下,再往上就會吃力。它是免費的,不註冊、不登入,也沒有試用期。本站帶廣告,那是養活它的東西;廣告拿不到任何關於你文件的內容。
### 斷網能用嗎?
能。把頁面載入一次,然後斷開網路,它照樣能用。這也是證明什麼都沒被上傳的最簡單的辦法:一個把你的文件發出去解鎖的工具,你一拔網線它就停了。
## 這條隱私承諾怎麼核實
- **大多數被保護的 PDF 根本沒有鎖上,這一頁在動手之前就會說明。** 一份 PDF 可以帶著兩種完全不同的東西。*開啟密碼*是真的:沒有它,這個檔案誰都讀不了,這裡也找不出來。*限制*,不許列印、不許複製、不許編輯,則不是。只帶著限制的檔案誰都打得開,這就意味著它必須自己裝著推匯出自身金鑰所需要的一切,因為你的閱讀器就是這麼推出來的。真正攔著閱讀器不讓列印的,是文件裡面的一個許可權欄位,靠的是行為端正的程式之間的約定。Adobe 從一開始就是這麼寫的。把它去掉不是在破解什麼,只是不再自願配合。這一頁會告訴你手上是兩種裡的哪一種,並且只在真的需要密碼的時候才開口要。
- **它不猜密碼,裡面也沒有哪個迴圈能拿來猜。** 如果一份文件有開啟密碼,那要麼你給出來,要麼它就一直關著。這裡沒有字典,沒有詞表,也沒有去碰 1990 年代那種真的搜得出來的 40 位金鑰。這是一條故意劃下的線,不是誰沒顧上補的缺口:一個悄悄替你試上幾百萬個密碼的頁面,是另一個名字的另一個工具,不是這一個。開啟文件的那個密碼,和解除限制的許可權密碼,兩個都收,因為不管哪一個,都是別人給你的密碼。
- **密碼在這裡打進去,也在這裡用掉。** 你打進去的東西進的是一段跑在這個分頁裡的金鑰推導,別處都不去。它不會被存下來,不會在兩個檔案之間被記住,也不會被寫進位址列;頁面的 `Content-Security-Policy` 列出了這一頁可以聯絡的每一個地址,其中沒有一個屬於本站。一個工具問你要文件密碼、然後發起一次網路請求,是這類工具能做的最壞的一件事。
- **做好的檔案在交給你之前,會在這裡重新開啟一次。** 在那之前,上面這些話都只是這個工具在給自己判卷。所以那些馬上就要變成你下載的位元組,會被交給[壓縮器](https://abox.tools/zh-TW/compress-pdf/)、[合併器](https://abox.tools/zh-TW/merge-pdf/)和[塗黑工具](https://abox.tools/zh-TW/redact-pdf/)用的同一個讀取器,一個碰到加密文件就直接拒絕的讀取器,而它必須在不給任何密碼的情況下開啟,並且頁數跟原來一樣。一個還帶著任何加密的檔案是過不了這一關的。過不了,這次執行就報告為失敗,也不會有下載。
- **頁面本身不會被重新渲染、重新編碼,也不會重排。** 變的是文件外面那層加密,不是文件。每一頁的繪製指令、每一個嵌入字型、每一張圖片,都按原樣寫回去,所以文字還能選、還能搜,掃描檔還是掃描時的解析度,頁面上什麼都不會移位。唯一會變的是任何一次重寫都會變的東西:早先編輯留下的、已經被取代的舊物件不再帶過來,通常還會讓檔案小一點。
- **數字簽名過不了這一關,有簽名的時候頁面會說。** 簽名覆蓋的是它當初籤的那個檔案的確切位元組,所以任何重寫都會讓它失效,這正是簽名的用處。這個工具寫的是一個新檔案,所以你拿回去的那份是沒有簽名的;發現檔案帶著簽名時,它會在結果裡說明。你的原件仍然是那份簽過名的。這件事沒有繞過去的辦法,也沒有哪個工具有。
- **它會說那層保護到底值多少。** 一份 1998 年用 40 位 RC4 鎖上的文件,和一份去年用 AES-256 鎖上的文件,在閱讀器裡都寫著「已加密」,而它們之間差了幾十年。這一頁會說出方案、金鑰長度和修訂號,並且直說其中哪些早就被攻破、哪些只是過時、哪一個還是當前的。對一份別人告訴你「很安全」的檔案來說,這值得知道,而沒有哪個閱讀器會擺給你看。
- **用證書鎖的文件會被直接拒絕,而不是半開著。** 有些文件是加密給一張證書而不是一個密碼的,企業裡那種,金鑰放在智慧卡或者金鑰庫裡。這些會被拒絕,並且說明它們是什麼。密碼框裡打什麼都代替不了一把私鑰,假裝可以只是浪費你的時間。
- **Google 載入了什麼,又沒拿到什麼。** 廣告和統計指令碼來自 Google。這兩個都沒有拿到關於你文件的任何東西:不是檔案,不是某一頁,不是檔名、大小、頁數、密碼,也不是這個檔案被什麼保護著。每一行讀取、解密或者寫出 PDF 的程式碼都由這個源站發出,並且列在程式碼儲存庫裡。
- **打賞按鈕載入了什麼,又沒拿到什麼。** 頁首上那個「Buy me a coffee」按鈕,是由 cdnjs.buymeacoffee.com 的一段指令碼畫出來的,字型取自 Google Fonts。它就是一個連結,僅此而已:它不上報訪問,也拿不到任何關於你或者你文件的東西。你不點它就什麼都不會發生,而點下去要去的是別人的網站。
- **斷網也能用。** 把網路斷掉,這一頁上的所有功能照常。這是最簡單的一個證明:一個把你的文件發出去解鎖的工具,這時候就停了。
**你可以自己核對。**上面這些不用你信。這個頁面是儲存庫裡的模板和配置產生出來的,構建指令碼你能讀,也能自己跑一遍,跑出來的結果就提交在 `dist` 分支上。拿實際發給你的內容,跟你自己從原始碼構建出來的結果對一遍就知道了: https://github.com/A-Box-of-Tools/website
最值得先讀的幾個檔案:`config/site.toml` 裡是 Content-Security-Policy,一個密碼是怎麼變成文件金鑰的,以及那裡面根本沒有循環這件事,看 `src/crypt.js`;兩種密碼演算法本身在 `src/aes.js` 和 `src/rc4.js`。這幾個都夠不著網路,旁邊負責讀和寫的部分也一樣。
How to unlock a PDF, and which kind of locked it isA PDF that will not print and a PDF that will not open are two different problems with one name. What each of them actually is, why one comes off in a click and the other cannot come off at all, and how to tell which you have.
因為這個工具會在你的機器上核對,並且把結果給你看。檔案寫好之後,它會被交給本站其他 PDF 工具用的同一個讀取器,一個碰到加密文件就直接拒絕的讀取器,而它必須在不給密碼的情況下開啟,並且頁數跟原來一樣。要是過不了,這次執行就報告為失敗,什麼都不會給你下載。你事後也可以自己驗:用任何一個閱讀器開啟它,去看文件屬性,那裡每一項許可權現在都應該寫著「允許」。