• ベストアンサー

エクセルのVBAのパスワードについて

インターネットでパスワード管理のソフトを探していたとき、エクセルのVBAの解析ソフトのようなものが有料で売っていたのですが、そんなことができてしまうのでしょうか。会社で重要なマクロが入ったファイルを取引先とやり取りすることがあるのですが、中を見られると困るのでもし本当に解析が出来るとしたら、それをさせないようにする方法があるのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

こんにちは。KenKen_SP です。 どんなパスワードもそれを破ることについて、可能・不可能かと問われ れば「全て可能」です。勿論、パスワードを難解なものにすれば、解析 を困難にすることはできますが、結論としては、気の遠くなるような 時間がかかるだけで、やっぱり「可能」なのです。 それがデジタルデータの性質です。 したがって、ツールで保護を破ることは技術的には可能、事実そのよう なツールが存在します。 VBA プロジェクトの保護について、少なくとも私の知る限り Excel 2002 までは保護パスが暗号化されてなかったと思います。Excel 2003 以降 は分かりません。つまり、セキュリティーのレベルで言えば、脆弱な ものでしかありません。 試したことはないので、保証も無い情報提供だけとなりますが、以下 のシェアウェアで対策できるかもしれません。 【お茶ですよ「k茶」】 http://homepage2.nifty.com/kmado/ ナビゲートメニュー[ソフトウェア]のページにあります。

haruchin2
質問者

お礼

ありがとうございました。 完璧なセキュリティーなんて無いんですね。 でも出来る限り保護していきたいので参考のソフトを取り入れてみます。

その他の回答 (3)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

KenKen_SPさん、こんばんは。 >> Ver4のプロテクト... >って聞いたことがないのですが、何のことですか?(^^ これについては、詳しくは知りません。この辺りは、私の想像の範囲です。たぶん、どこかで情報は出回っているようですが、旧版のプロテクトを用いると、プロテクトは解除できないらしいです。フリーソフトウェアで出した方は、どのようにして情報を入手したかは知りませんが、K窓さんが、だいぶお怒りのようです。 ただ、それは、しょうがないと思います。少なくとも、パスワードロック自体には、直接の収益性がありません。それを、シェアウェアとして長年行ってきたし、そして新たに、Microsoftのサイトで新バージョンで明文化している方向性とは違ってきてしまいましたからね。異論・反論はあるかもしれませんが、私は、あまり、マクロのプロテクトに関しては、重要度を感じていません。私の作ったVBAのコードは、それ自体に収益性はありませんし、OfficeとしてのVBAの位置は、補助的なものでしかないと思っています。ですから、不当に利用されることがない限りは、それ以上のプロテクトの必要性と感じません。 表計算の場合は、そのマクロではなくて、その表の情報に価値があるのだと思います。配布には、配布先を気をつけることと、また、できるだけマクロ抜きにしたほうが良いというのは、言うまでもありません。

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.3

> 総当り制アンロックとは仕組みが違いますので.. この点については承知してます。Excel 97~2000 の頃はファイルを バイナリエディターで開いて、ちょいと1箇所書き換えればそれで、 アンロックできる程度のものでしたから。 (実験ですよ。念のため(^^ゞ) この辺について詳細にお話しすることはできませんが、インター ネット上に転がっているツールにはボタンひとつでパス解除できる ものがありますね、、、 > それ(保護解除)をさせないようにする方法があるのでしょうか。 「可能・不可能」の2択で言えば、「破れない保護システム」はあり 得ないと思います。解析方法はブルースフォースアタックだけでは ありません。逆コンパイルやシステムそのものが抱えるエラーを利用 したり、、いろいろです。 どのような仕組みであっても、ファイルという形であるものは、開い て解析することはできるので、 「根気と時間さえあれば保護解除は不可能ではない」 と言えます。例えば、多額の金銭が手に入る内容であれば、時間を どれだけかけても解除しようとする人はきっと現れるでしょう? ですから、結論として、 会社にとって致命的な情報流出となるようなマクロを書かない方が 良いのです。いや、書いても社外に配布してはいけません。 となってしまいます。それを承知で配布が必要なものなら、最大限 解析が困難な方法をとるしかありません。Wendy02 さんがご提示され た COM 化もその一例だと思います。 それから、 > Ver4のプロテクト... って聞いたことがないのですが、何のことですか?(^^ゞ

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 プロテクトについては、書きたい話はあっても、長くなるので端折りますが、VBAのプロテクト外しのツールを「パスワード・クラッカー」といいますが、総当り制アンロックとは仕組みが違いますので、例えば、Ver4のプロテクトなどを使用すれば破られることはありません。 しかし、私個人としては、オンラインで出ている特殊なプロテクトというのは、オフィシャルなものには使えないと思っています。試したことがありますが、少なくとも私は継続的に使いたいとは思いませんでした。 スクリプト形式のVBAは、見られてどうこうするようなものではないように思います。ただ、プロだの専門家だと称しながら、スパゲティ・マクロを書いていれば、私は、その人物の程度を疑いますけれどね。 もし、内容が見られるのがいやなら、コンパイルド・マクロにするか、COMにするのが一番ですが、また、パスワード・クラッカーを使って中身を見て、それを軽々しく口外するような人物は、公私共に信用できないと思います。会社なら、是非、民間の認証局の証明書をつけて、その同一性を求めるべきだと思います。あまり、スクリプト型マクロで、解析されてどうなるか、というようなことは考えなくてもよいのではないかと思います。それと、Office 2003 プロフェッショナルのIRM(Information Rights Management)機能を一度見直したほうがよいですね。

haruchin2
質問者

お礼

ありがとうございました。 コンパイルド・マクロやCOM、IRM機能というのは分かりませんがシステム担当者と相談して今後の参考にさせて頂きます。

関連するQ&A

  • EXCEL VBAのパスワード解除

    EXCELのマクロをVBAで作りました。コードにパスワードをかけて保存しました。今回マクロを修正することになったのですが、パスワードを忘れてしまって、開くことができなくなりました。どうにかしてパスワードを解除できないものでしょうか?よろしくお願いします。

  • VBAで書き込みパスワードを解除して開く

    VBAでの作成経験が浅くわからないので、教えてください。 Excel2010のVBAを作成しております。 VBAで”ファイルを開く”ダイアログを表示し、ユーザが指定したファイルのパスワードの保護をマクロの中で解除してファイルを開きたいと思い作成しました。 myMB = Application.Dialogs(xlDialogOpen).Show(arg6:=myPassword) If myMB = False Then Exit Sub End If   ※myPasswordはユーザが開くファイルに使用するパスワード この方法ですと、パスワードを入れるダイアログが表示されてしまいます。 どうしたら、パスワードをユーザが入力することなく、マクロを実行することが できるのでしょうか?

  • VBAパスワードを解除するマクロ

    そういうマクロがあるのか無いのかも分からないので、教えてください。 VBAProjectにパスワードを設定しています。これはマクロを無効にしてエクセルを開いたときにコードが管理者以外に見えないようにしたいためです。マクロを有効にして開いたときに、ある処理を走らせたあと、マクロごと消去したいのですが、コンパイル時にVBAにパスワードがっかっているために、うまくいかないようなのです。 どなたかご存知あれば、教えてください。 よろしくお願いいたします。

  • エクセルにパスワードが掛っていて開かない

    エクセルのパスワードを忘れてしまい開くことができません。 フリーのソフト(CONEX)も試しましたが試用品であったりして途中までしか出来ず、等です。 エクセルアナライザーも試しましたがファイルのパスワード解析は無理なようです。 Win7 エクセル2007です。 よろしくお願いします。

  • EXCELのパスワードを調べたいんです

    はじめまして、皆様の知恵を貸して欲しくて質問させて頂きます。 カテゴリーも適切かどうか分かりませんが、許してください。 つい先日、職場で派遣社員の人を怒らせてしまいました。 「もういい!こんなところで働けるか!」と言って会社を飛び出してそれから連絡が取れない状況です。 その派遣社員の人が作ってくれたエクセルのファイルがあるのですが、その人しか読み取りパスワードを知りません。 月末に仕事で使うので、何とかしてファイルを開きたいのですが全くパスワードの検討がつきません。 何度も連絡はとろうとしてますが、連絡が付かない状態です。 Excel UnPasswordというソフトを使ってみてはいるのですが、何文字のパスワードなのか本当に全く見当がつかず、全然解析できません。 海外製のソフトとかでもいいので、何とか高速で解析できるようなソフトを教えていただけないでしょうか。(できれば無料で使えるものがいいです) 完全に私が悪いので、派遣社員の人を無責任とか責めるつもりもありません。何とかパスワードを知りたいのです、どうかお願いします。

  • エクセルVBAの実行保護について教えてください。

    エクセル2000VBAで構文を複数作り、シート上にボタンを配置し実行させたいと思います。 (パスワードで保護させて、VBAの構文は管理者以外に見えないようにしました) その複数のマクロの中には、実行させたくないものもあります。(管理者のみが行うマクロ) シート上のボタンで配置したもののみ実行可能にして、「ツール」-「マクロ」から誰でも実行させないような方法を教えてください。 つたない説明で申し訳ありませんが、ご理解いただけたでしょうか? よろしくお願い致します。

  • Excel VBAのシェアウエアは可能?

    Excel VBA でシェアウエアを作成しようと考えています。 ソースは見られたくないので、パスワードでロックしようと思うのですが、ちまたにはパスワード解析ソフトがあふれている・・・。 独自に暗号化しようにもソースを見られると意味がないので、できません・・・。 やはり、Excel VBA でのシェアウエアは無理があるのでしょうか?

  • vbaでvbaProjectのパスワード解除する

    マクロを作成したエクセルファイルがあるのですが、配布した数が1万ほどありまして、 今回、vbaプログラム自体を変更しなければいけなくなりました。 そこで、調べた結果vbaをvbaで編集することまではわかりました。 http://officetanaka.net/excel/vba/vbe/index.htm しかし、配布したエクセルファイルのvbaProjectにパスワード保護をかけていまして、上手く動作しません。 なので、vbaでvbaProjectの保護を解除したいのですが、何かいい方法がありましたら、 ご指導の程よろしくお願いします。 ※vbaProjectのパスワードはわかっています。

  • VBAによるVBAプロジェクトパスワード入力

    エクセルの成果物を他人に渡したいのですが、マクロを使っているためモジュールを解放してから渡したいと考えています。 解放するエクセルが100個くらいあるため、別途モジュールを解放するプログラムをVBAで作りましたが、 対象とするエクセルのVBAプロジェクトにパスワードをかけていたため、解放することができません。 それぞれ立ち上げてパスワードを入力すればいいかもしれませんが、それをするならそのままモジュールを解放すればいいので、できればやりたくありません。 パスワードは分かっています。 VBAを使ってVBAプロジェクトのパスワードを入力する方法をご教示いただけないでしょうか? よろしくお願いします。

  • Excel VBA で、パスワード設定方法を教えてください。

    Excel VBA を作成した時、パスワード設定して、マクロが見えないようにする方法を教えてください。 もし、説明してあるURL等ありましたら、教えてください。

専門家に質問してみよう