やるきなし

2022/07/11 13:15 / MS Office の暗号化ファイルをコマンドラインで復号する

MS Office の暗号化ファイルをコマンドラインで復号する だけにいちいち Windows を用意したり Libreoffice 起動したりが面倒なので,CLI でなんとかする方法検討.msoffcrypto-tool (Debian package) というのがあって,これが使える.

pip install msoffcrypto-tool で install するか,sudo aptitude install python3-msoffcrypto-tool で Debian package を install する.使い方は簡単で,以下のような感じ.

% msoffcrypto-tool -p PPAP_PASSW0RD ppap_encrypted_file.xlsx ppap_decrypted_file.xlsx

あとは,.xlsx なら Python か Ruby で読んだり,xls(x) to csv using libreofficeのとおり Libreoffice で csv に変換したり,.docx なら pandoc で markdown やらに変換したり.

xlsx や docx は実際は zip なので,zip の復号をやってみたのだけど,そもそも暗号化 zip として見えない様子.以下のように Encrypted Composite Document File V2 (CDF) として見える.

% file ppap_encrypted_file.xlsx zip_encrypted_file.zip
ppap_encrypted_file.xlsx: CDFV2 Encrypted
zip_encrypted_file.zip:   Zip archive data, at least v1.0 to extract, compression method=store

Related articles