• ベストアンサー

VBAプロジェクト パスワード解除 そんなのあるのですか?(解除しません、掛ける側の人間です)

趣味でフリーのソフトを作っています。 今、エクセルVBAでアプリを作ったので、「さあ、help書いて、vectorにでも公開しよう」と思い、  VBAだけど、ソース覗かれるのはちょっとなぁ~、パスワードの掛け方は?と検索したところ、出るわ出るわ、  (VBAプロジェクトでの)パスワード掛け方と、それを外すソフトと、 そのソフトでも外せないパスワードを掛けるソフト(シュアだった、なぜフリリーのソフトを公開するのにシュアを購入しないといけないの!!!)が・・・ で、質問です。VBAで作られてる方どうされてますか? 1.ソースも公開 2.とりあえず、パスワードはつけている  2.1 そのパスワードは単純な文字列  2.2 そのパスワードは日本語を混ぜた複雑なパスワード 3.外せないパスワードの掛け方を知っている 4.VBで作っているから関係ない 5.その他 回答が、  2.2の方 日本語混ぜたり複雑なパスワードにするのは有効な手段なのですか?  3.の方 方法を教えて下さい  5.の方 方法を教えて下さい パスワードを外すソフトは作者がパスワードを忘れた時用・・・<-嘘つけ  すみません。感情的になりました 少し、愚痴も入っていますが、お手すきの時にでもご回答頂ければ幸いです。 私は、1.か 2.2でパスワードを「みちゃいやん」にしようとかと思っています。

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.3

#1です。 > 文字列を造出し、アタックするパターンの解読方法なのですね。 あまり詳しくないので明確な事は言えません。 また、#2さんが説明されているように全部がそうとは限らないと思います。 Project保護では無いですが、ブックやシートの保護解除ってやつを一度試した事があって、その時はそんな感じでした。 私が言いたかった事はフリーで公開されるおつもりなら、ソースコードのパスワード解除に躍起になる必要はないのでは?って事です。 そっち方面に注力するより、ソフトの機能向上に力を入れた方が建設的かと。 VBAじゃないですが、有名なシェアウェアの作者さんでイタチゴッコに憤怒してか、出回っているパスを入れたらHDDを消去するロジックを仕込む(間違って組みこんでしまった?)方もいましたね。 そんな風にはなりたくないものです。 以上、まとまりの無い文でスミマセン。

kag
質問者

お礼

作るのが好きなので、私もこんな(ソースの保護とか)にはあまり力を入れたくありませんしね。 適当にパスワードを入れて終わっておきます。 出回っているパスを入れたらHDDを消去するロジックを仕込む:確かこれによく似た事をしたのが、ウィルスの始まりはでしたね ウィルス扱いされても困るので、さすがにこれはしませんが・・・ 参考になりました、ご回答頂きありがとうございました。

その他の回答 (2)

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

こんにちは。 私は、パスワードは、英数のみで、複雑なものは使っていませんし、また、いくつかあるツールも使っていません。たかがVBAだからこそ、対VBAプログラマーに対して、そのコードを見られても、容易には使えないような、構造化し分散処理などを施せば十分ではないでしょうか? もちろん、そのようなことを意図して、コードに反映させる必要はないのですが、そのコードを読んで分かるレベルなら、何も開けてみる必要もないし、読んで分からないレベルなら、開けても何の役にも立たないようなものを、コードとして書くべきでしょうね。そういうレベルでなければ、管理上簡単なパスを施しても、基本的にはオープン・ソースでよいと思います。 > 5.の方 方法を教えて下さい そのノウハウ自体は、結局は、Excel 2000より以下のバージョンロックの仕方であり、あくまでも、対クラッキング対策でしかありません。万が一にも、マイクロソフト社の開発で、古い技術をはじくようになったら、おしまいなのです。VBAの継続が問題にされている昨今ですから、今だけのもののように思います。それに、それ自体がオリジナルの技術とまで言えないのではないか、と思うのです。 現在、マイクロソフト社自身は、Office 2003 では、パスワードの暗号化処理をさせるようにはなり、また、デジタル証明書も強化しましたが、クラッキングされないかどうかは、私は知りません。 > 2.2の方 日本語混ぜたり複雑なパスワードにするのは有効な手段なのですか? クラッキング・プログラムを使われたら、それ自体は無効のはずです。処理スピードや安定性を考慮に入れれば、最近は、ディベロッパーやVBなどで作るCOMアドインやActiveX で、VBAは、単にその呼び出しだけに使われる傾向が強いようですが、そうすれば、ほぼ隠蔽は完成できるはずです。 >長い文字列なら解読に時間がかかるということは、 クラッキングという言葉どおり、パスワードの破壊で無効にしてしまうことであって、盗み出すわけではありません。総当り法のアンロックなら、コードが公開されていたりすることもあるようです。

kag
質問者

お礼

ありがとうございました。参考にさせて頂きます

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

直接的な質問の回答にはなってませんが、、、 様々な文字を組み合わせて、長いパスを作れば解読に時間は掛るでしょうね。 コードを見せたくない理由は大きく別けると「恥ずかしい」か「マネされたくない」、コードを見たい側は「マネしたい」だと思います。 やっている事が想像出来る人は長時間かけてパス解除をしようとは思わないでしょうし、想像も付かないような人にはコードを見ても容易には理解出来ないと思いますけど、、、

kag
質問者

お礼

長い文字列なら解読に時間がかかるということは、文字列を造出し、アタックするパターンの解読方法なのですね。