期間限定版の配布について

解決


ちゃまき  2012-07-23 17:50:21  No: 147695

VB6とVB2010で作成したプログラムですが、客先に体験版のような感じで
配布をする予定なのですが、たとえば2週間のみ使用できるようにする場合、Windowsの日付を取得して管理した場合、Windows自体の日付を変えられると簡単に使用し続けられてしまいます。
どのような仕掛けをすれば、よいでしょうか?


魔界の仮面弁士  2012-07-23 18:36:44  No: 147696

現在時刻だけの問題なら、NTP(SNTP) から取得するという手がありますね。
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200310/03100003.txt

あるいは、今回は精度がそれほど必要ではないので、Inet コントロールか
WinHTTP あたりで、適当な Web サイト(google など)にアクセスしてみて
サーバーから返される Date ヘッダーの値を見てみるとか。

上記の他、自作でもなんでも「認証用のサーバー」さえ用意すれば、
そのサーバーの管理者は自分自身なわけですから、他の人が手を出すことは
できなくなるでしょう。

通信内容を盗聴、改竄される可能性まで考慮すると、
さらに非対称鍵暗号化方式やワンタイムパスワードなどを
併用することになりますが、どこまでの厳密性を求めるかは、
実装難易度やパフォーマンスとのトレードオフという事で。


ちゃまき  2012-07-23 19:52:45  No: 147697

魔界の仮面弁士様  ありがとうございます。

今回はネット環境がなく、スタンドアロンのパソコンもあり、全てがネット環境が整ってないようです。

ネット環境がない場合はどこから日付、時刻を拾うとよいでしょうか?


オショウ  2012-07-23 20:27:10  No: 147698

カレンダーを変更されてしまう・・・と言う前提で、そのソフトを
インストール時にカレンダーを取得。
次にPCが起動してからの時間を取得できるので、そのカウンタが
アップしているのに、カレンダーが先祖返りしたら、日付を戻され
たと判断して、再度、その戻されたカレンダーから修正換算して、
経過時間を算出。と言う方法は如何ですか?

私は誤差1日以内で、いくらカレンダーを修正されても指定時間経
過したら、そのソフトの運用を停止させることに成功はしています。

※  .NET ならカレンダー監視で日付の変更イベントを取得できる機
    能があるので、少しは楽かも・・・
    http://dobon.net/vb/dotnet/system/userpreferencechanged.html

※  カレンダーや時刻監視機能は、システムサービスにして監視さ
    せるのがよいと思います。インストーラでインストールさせるの
    であれば、OSがVista以降ででも自身は管理者権限が必須にな
    りますので、サービスのインストールも行えます。

やり方はほかにもあろうかと考えますが・・・
日時監視はいろいろ厄介なので、そのソフトの起動時間と起動回数か
ら相対的に算出させるのは如何でしょうか?

試用版で10分しか使えない・・・と言う制限のものもありますし〜

以上。参考まで


オショウ  2012-07-23 20:36:15  No: 147699

追伸
BIOSレベルでカレンダーを変更された場合も、一応、換算は可能
ですが、そんなことにプログラミング能力を発揮(消耗かも)す
るのも本末転倒かと。

趣味のレベルか、技術力アップに頑張るならば、それもよいかも。
です。

簡単にするなら、ソフトの稼働時間を減算していって・・・と言
うのが試用版としては、楽じゃないでしょうか。

以上。


c  2012-07-24 08:16:58  No: 147700

初回起動日時を記録して、毎回起動日時を記録して
最新と比較くらいでいいのでは?
起動日時がマイナスになったら使用停止でいいかと

2週間は初回起動日時と比べればよろし。


c  2012-07-24 08:27:37  No: 147701

ああ、普通に製品として販売するならインストール日とか
普通にレジストリいじる奴もいるので分からない所に暗号化でもして
書き込まないと駄目ですよ。
再インストールで使えるようになるとか最悪です。


ちゃまき  2012-07-24 16:55:02  No: 147702

皆様、貴重なアドバイスありがとうございます。
参考に仕掛けを作ってみようと思います。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加