忘れたExcelパスワードを解除・解析する方法!無料ツールから有料ソフトまで徹底解説
パスワードで保護されたリソースを使おうとしたのに、パスワードを忘れてしまった――こんな経験は誰にでもあるものです。オンライン会員サイトならまだしも、パスワード保護されたExcelファイルが作業の妨げになると、プロジェクト全体が止まってしまうこともあります。
幸い、Excelのパスワードを解除する方法はいくつか存在します。文書を引き続き保護したい場合は、解除後に再度保存してパスワードを設定し直せばOK。本記事では、その中でも特に重要な「パスワードの解除・解析」に焦点を当てて解説します。
まず押さえておきたい用語の違い
パスワードの削除(解除)とは、文字どおりファイルからパスワードをなくすことです。パスワードの破り(ブレイク)は、その名のとおりパスワードを突破してファイルへアクセスできるようにすること。クラック(解析)は「hack(ハック)」という言葉でイメージすると分かりやすく、忘れてしまったパスワードが何だったのかを突き止め、ファイルへのアクセスを取り戻す行為を指します。
各手法の制限事項に注意
世の中にある多くのソフトウェアやツールには、何らかの制限がある点に注意が必要です。たとえば「Excel 2007には対応しているがExcel 2016やMacには非対応」「ワークシート内の保護は外せるが、ファイルを開くためのパスワード(オープンパスワード)には対応していない」といったケースが典型です。
興味深いことに、新しい環境(Excel 2016、オープンパスワード、Macなど)に対応したソフトは、旧バージョンのExcelにもほぼ対応しています。つまり、新旧両方のファイルに1本で対応できる適切なソフトを選ぶのが賢明です。「無料」は魅力的ですが、貴重なソフトウェアの多くが300〜500ドルする時代を考えれば、9〜30ドル程度は決して高い買い物ではありません。
ここではまず、支払いもインストールも不要かもしれない無料の方法から紹介し、後半で有料のソフトウェア・オンラインサービスを取り上げます。
無料で試せる方法
以下の方法は、財布を閉じたまま試せる選択肢です。成功を保証するものではありませんが、まず始めるにはうってつけです。試す前に2つのポイントを覚えておきましょう。
- 時間がない、または簡単な道を選びたい場合は、有料ソリューションへ直接進むのも一つの手です。
- 2013年より前のExcel暗号化はかなり簡素な仕組みでした。つまり、2013年より前に保護されたシートの方が解析しやすい傾向があります。新しいバージョンのExcelファイルなら、最初から有料ツールを選ぶ方が手間が省けるかもしれません。
そして何より大切なのはバックアップを作成することです。複数のバックアップがあるとなお安心。必ずコピーしたファイルに対して解析を行い、元のファイルが破損しないようにしましょう。ほとんどの手法はファイルを損傷させませんが、慎重を期すに越したことはありません。
方法1:VBAスクリプトを使う(2種類)
VBAスクリプトの発想は、Microsoft Excelのパスワードチェック機構を回避してロックを外すというもの。Visual Basicのコア言語を使い、処理開始前にプログラムをだますことで実現します。少々マニアックに感じるかもしれませんが、実は最も手間のかからない方法なので、最初に試してみる価値があります。
以下がそのVBAスクリプトです。Excelワークシートを開いたら、Alt + F11(Macでも動作します)でエディターを起動し、リストから対象ファイルを選んで、このスクリプトを宣言(Declarations)ウィンドウに貼り付けます。
Sub BreakPassword()
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer
On Error Resume Next
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If ActiveSheet.ProtectContents = False Then
Exit Sub
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
End Sub
VBAスクリプトの実行ボタン(F5)を押したら、しばらく待ちます。ボタンが再び押せる状態になったら、スクリプトの処理は完了です。
結果にはいくつかのパターンがあります。たとえばMac版では、そのままファイルを編集できるようになります。Windows版などでは、一時的なパスワードが表示され、それを使ってロックを解除して編集を開始できます。この時点で、必要なら新しいパスワードを設定して再保存することも可能です。
また、もうひとつ優秀なVBAスクリプト手法として、Excelファイルを読み込んでパスワードなしのコピーを自動生成するタイプもあります。専用ページからスクリプトをコピペして利用できます。
方法2:John the Ripperを使う
もう一つの選択肢が、ターミナルを使うより根幹的なアプローチであるJohn the Ripperです。これは汎用パスワード解析ツールとして数十年にわたり実績のある定番ソフトです。ただし、特に新しいバージョンのExcelについては、後述の専用ソフトの方が簡単かつ効果的なことが多いでしょう。
なお、2013年より前の古いExcelファイルであれば、タイピングが苦にならない限りVBAスクリプト方式も十分有効です。John the Ripperを使う場合は公式サイトにアクセスし、ページ下部の手順書に従ってください。
方法3:XML/Zip方式(Excel 2013以前向け)
ファイルのバックアップを作成したら、XML/Zip方式での解析に進みましょう。
- まず、ファイルの拡張子を xls から zip に変更します。これでWindowsはそのファイルをZIPアーカイブとして認識し、内部のXMLにアクセスできるようになります(この方法が機能する場合に限ります)。
- ZIP化したファイルを展開し、XMLファイルを探します。worksheets フォルダ内にあります。
- そのファイル内で sheetProtection という語を検索し、見つかったタグ全体(通常は < で始まり > で終わる部分)を先頭から末尾まで丸ごと削除します。
- ファイルを(ZIPのまま)保存したら、拡張子を元の形式に戻します。これでファイルを開いて操作できるはずです。
ただし、この方法の成功率は低く、調査によると古いファイルでしか機能しないようです。
方法4:情報収集ツールを活用する(Excel Password Recovery Lastic)
もうひとつ推奨されるツールとして「Excel Password Recovery Lastic」があります。興味深い選択肢ですが、実際にテストしたところ、解析自体は最後まで進まず、期待ほどの成果は得られませんでした。
とはいえ、解析を完遂できなくても、このツールから有益な情報を得られる可能性があります。使い方は次のとおりです。
- ソフトをダウンロードしたらダブルクリックし、Windowsマシンにインストールします。
- プログラムを起動すると、マシンのスキャン後に上図のような画面が表示されます。
このツールの利点は、保護が必要そうなExcelファイル=パスワード保護されたファイルを自動的に検出できることです。
上記リストの最初のファイルは2013年より前の xls 形式で、「オープンパスワード」欄が <CSP> と表示されています。残りの2つは2016年の xlsx 形式で、同じ欄が <strong> と表示されています。
リスト最初のファイルのパスワードは password でした。テストを簡単にするため意図的に設定したものです。しかし、簡単なパスワードであり、さらに重要な点として暗号化が脆弱(Excelのバージョンが古いため)だったにもかかわらず、Excel Password Recovery Lasticは結局別の選択肢を勧めてきました。その推奨先が Password-Find です(詳細は後述します)。
xlsxファイル2つにも同様の推奨が表示されました。これは予想どおりです。最も簡単なファイルすら処理できないソフトが、Excel 2016のファイルを処理できるとは期待できません。
では、このソフトはどこで役立つのでしょうか。たとえば「Excelファイルがパスワード保護されているのは分かるが、どの程度の保護か不明」というケース。プログラム起動時の自動スキャンで該当ファイルを見つけ出し、そのファイルがどんな種類の保護を持つかを教えてくれるのです(上図参照)。
上の画像では前述の <CSP> が確認でき、拡張子(xls か xlsx か)だけでは分からないファイルのバージョン情報を補えます。
小さな情報の積み重ねが大きな助けになります。このツールを使えば、少なくともそのExcelファイルがオープンパスワードなのか修正パスワードなのか、あるいはその両方か、別の組み合わせなのかを判別できます。
上の画像は異なる種類のファイルの例です。ファイルの保護タイプ(およびバージョン)を把握できれば、必要な解析の種類を絞り込めます。時間・労力・ひいては費用の節約につながるでしょう。
結局このソフト自身は解析を完遂できませんでしたが、ファイルの正体と次に取るべきステップを理解するうえで役立ちました。
有料ソフトウェアによる方法
どの方法を選ぶ場合でも、処理中にファイルが破損する万一の事態に備え、あらかじめExcelファイルのバックアップを取っておきましょう。通常は未開封のファイルを複製するだけでOKです。他のバックアップ手段もありますし、念のため複数作成しておくのも悪くありません。
Dr.Excel(29.95ドル)
iSeePasswordが提供するExcelパスワード解析ソフトです。同社は一般的なWindowsパスワード向けの製品も扱っており、ある意味ワンストップショップと言えます。
さらに嬉しいことにトライアル版が用意されており、お金を払う前に自分のケースで使えるかどうかを確認できます。選択肢は豊富にあるので、購入前に評価できる試用版があるソフトを選ぶのが賢明です。
- インストール完了後は、Finish をクリックする前に Run ExcelPasswordRecovery.exe のチェックボックスをオンにしましょう。ちなみに ExcelPasswordRecovery.exe こそがDr.Excel本体です。
- 最初のステップは対象ファイルの追加です。右上の Add File をクリックします。
- ステップ2では攻撃タイプを選択します。説明はわかりやすいので迷わないはず。使用していたパスワードの性質に応じてタイプを選びます。
たとえば「かなり単純なパスワードを使ったことは覚えているが、具体的な文字列を思い出せない」という場合は、一般的な単語を辞書ベースで試す Dictionary Attack(辞書攻撃) が有効です。時間を短縮したいなら Brute-Force with Mask Attack(マスク付き総当たり攻撃) も選択肢になります。
なお、攻撃タイプに関連する詳細設定は Settings ボタンから行う必要があります。
- Settings をクリックし忘れても、Dr.Excelが親切にリマインドしてくれます。OK を押したら戻って設定画面を開きましょう。
- これで攻撃を開始できます。どれほど高機能なソフトでも、解析には時間がかかることを覚悟してください。テストしたファイルのパスワードは password(6文字超)でしたが、解析には数時間を要しました。パスワードが単純だからといって短時間で終わるとは限りません。
PassFab(19.95ドル/年)
もうひとつの人気ソフトがPassFabです。
注意していないと、インストール完了時に既定のブラウザが勝手に開き、正常にインストールされた旨の確認ページが表示されます。アクセス先は開発元のpassfab.comそのもので、クイックガイドのヘルプページへ直接誘導されます。
ウェブサイトの確認が済んだら、インストーラーに戻って Finish ボタンを押し、プログラムを起動しましょう。
- 次の画面で Add をクリックし、解析(またはパスワード解除)したいパスワード保護ファイルを選択します。
同じ画面で、ファイル選択後に攻撃タイプを選べます。Dictionary Attack(辞書攻撃)、Brute Force with Mask Attack(マスク付き総当たり)、Brute Force Attack(総当たり)の3種類です。
GPUアクセラレーションとは何か疑問に思うかもしれません。GPU(Graphics Processing Unit)はコンピューターの映像処理を最も効率的に担うプロセッサで、CPUよりも高速です。これにより解析速度を大幅に向上できます。
この画面の Settings ではカスタム辞書をアップロードできます。パスワードの心当たりがあるなら、候補となる文字列をカスタム辞書に登録しておくといいでしょう。
たとえば、普段使い慣れた特定のパスワードがあり、変更を求められた際に数字や特殊文字を1つ足すだけ、という人は多いはずです。厳密にはいつものパスワードと違っても、実態はほぼ同じ。こうしたパスワード(とその変形パターン)をカスタム辞書ファイルに登録しておけば、Excelパスワードの解析を大幅に高速化できます。
テストに使用したPassFabはトライアル版で、実際に機能するかどうかを確かめるものでした。上図のとおり、ソフトは無事パスワードを解析しました。文字数と最初の2文字が一致していることから、成功と判断しています。
このファイルのパスワードは赤枠のボックスに示されたとおり password でした。
PassFabは、お金を払う前にソフトが本当に使えることを確認させてくれる親切設計です。ライセンスプランも複数用意されており、自分に合ったものを選べます。ただし、永久ライセンスはお得な反面、会社が事業を終えた場合ソフトは更新されなくなります。
これはPassFab特有の予測ではなく、ソフトウェアライセンス全般に言える性質です。
Excel Password Remover Pro(価格はさまざま)
最後に紹介するのは、多数の種類やサービスが含まれるソフト群です。内容がそれぞれ異なるため、購入前に必ず説明文をよく読みましょう。上の画像は執筆時点で入手可能なソフトの一覧です。
有料オンラインサービスによる方法
オンライン経由で利用できる選択肢もあります。ファイルを送信して第三者に解析してもらい見積もりを取るタイプのサービスもありますが、ここでは準セルフサービス型のオンラインオプションを取り上げます。
Password-Find.com(19.95/39.95ドル)
Password-Findは、前述のLasticソフトが推奨していたサービスです。Lasticがファイルに関する情報を提供してくれたことで、ここで賢いアプローチが取れるようになりました。
手順の案内画像は非常に分かりやすく作られています。たとえばステップ1は、解析したい(パスワードを外したい)ファイルのアップロードです。
ステップ2ではアプローチを選択します。ここでは「タイプ」や「手法」ではなく、結果(アウトカム)に着目するのがポイントです。Excelのパスワードを完全に除去するのか、それともパスワードそのものを突き止めるのかを決めます。
パスワードの除去が推奨されているのは理にかなっています。後からいつでも別のパスワードで再保存できますし、この方式の方が速いからです。テストでもこちらを選びました。
一方、開発元がもう一方の選択肢(パスワードの特定)を勧めるのは、複数のファイルに同一パスワードを使用しているケースです。これも道理に合っています。除去方式なら50個のファイルに対して50回同じ工程を繰り返すことになります。
しかし解析方式なら、1ファイルの解析に仮に「パスワード除去3回分」の時間がかかったとしても、残り47個分の時間は節約できます。50個すべてのファイルのパスワードが判明するからです。
このオンラインソリューションの効果と速さは非常に印象的でした。ソフトの処理中は待ち時間が発生しますが、Excel 2016ファイルのテストでは数秒で完了。数時間ではありません。
特筆すべきは、このサービスがファイルそのものを渡すのではなく、保護解除済み(パスワードなし)ファイルをオンラインで閲覧できる点です。他のソフトでは部分的な表示にとどまりましたが、こちらはプレビューでファイル全体を確認でき、確実に機能することが証明されました。
選択肢は View online(オンラインで表示) です。そして忘れずに delete を押してファイルをサーバーから削除しましょう。個人やビジネスのスプレッドシートをネット上に放置してはいけません。
上図のとおり、ニーズに応じて選べる2つの購入プランが用意されています。
Password-Online.com(10ユーロ)
最後のオンラインオプションはpassword-online.comです。サイトにアクセスすると、上部メニューバーに Excel Password Recovery Online が見えます。ワンステップで完結するシンプルな構成のようです。
ボタンの表示どおり、暗号化されたファイルをアップロードすれば、あとは案内に従うだけで完了です。
メールアドレスの入力が必要で、ファイルの準備ができたら通知を受け取れます。納期は、前に並ぶファイルの数、難易度、その他サービス提供側に影響する要因によって変わります。
10ユーロという価格は魅力的ですが、完了までの目安時間の提示がありません。プロセスをもっとコントロールしたいなら、多少割高でも他のサービスを選んだ方が安心できるかもしれません。
-
Excelでハイパーリンクを完全に削除する4つの方法|初心者向け手順解説
Excelでハイパーリンクを簡単かつ確実に完全削除したい方に向けて、この記事では誰でもすぐに実践できる4つの方法を詳しく解説します。セル単位の削除から複数セルの一括削除、自動リンク化の無効化、さらにVBAマクロを使った高度な方法まで、目的に合わせて使い分けられるよう丁寧にご紹介します。 サンプルワークブックのダウンロード この記事で使用している練習用ファイルは、以下からダウンロードして実際に操作しながら学ぶことができます。 Excelでハイパーリンクを完全に削除する4つの方法 Excelにはハイパーリンクを削除する方法がいくつかありますが、ここでは代表的な4つの方法を取り上げます。解説には、社
-
Excelでハイパーリンクをすべて削除する5つの方法【テキストはそのまま残す】
Excelでは、URLを入力すると自動的にハイパーリンクへ変換されます。便利な機能ですが、必ずしも望ましいとは限りません。誤ってハイパーリンク付きのセルをクリックすると、意図せずWebサイトが開いてしまうこともあります。そこで「テキストは残したまま、ハイパーリンクだけを削除したい」というニーズが生まれます。本記事では、Excelの文字列を保持しながら、すべてのハイパーリンクを削除する基本的な方法を5つご紹介します。 練習用ワークブックについて 以下の手順は、実際にハイパーリンクが設定されたサンプルデータを使って確認できます。ご自身のブックでも同じ流れで試してみてください。 Excelですべ