- ベストアンサー
ソフトウェアに使用期限を設ける
こんにちは。 ご存知の方がいらっしゃいましたらアドバイスいただければと思っているのですが、ソフトウェアに使用期限を設ける方法はどんなものが存在するでしょうか。 方法がありましたらアドバイスいただければと思います。 例えばソフトウェアに使用期限を設けるソフトウェアなど。 環境はWindows全般を想像しています。 もし作成するとすればどういった方法があるでしょうか。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
>きっとできるのでしょうが、一般的な知識では難しいということでしょうか。 そういうことです。ソフトのバイナリコードに直接変更を加えれば、(かなり困難でしょうが)技術的にできると思いますが、今度は法的に触れると思います。アプリケーションを勝手に変更して、配布(使用?)するのは、一般にソフトウェアライセンスに抵触するはずです。
その他の回答 (5)
- damejan
- ベストアンサー率30% (58/192)
市販のソフトであって、ソフト自体が使用制限を持っていないのであれば、たぶんできないと思います。 できるとしたら、 akihiro3970さんだけが管理者権限を持っているPCに、akihiro3970さん自身がインストールし、特定ユーザアカウントだけがそのアプリを使えるように設定し、そのユーザアカウントではCD-Rドライブなどの記憶メディアを使えないように設定し、期限が来たらakihiro3970さんがアンインストールする。 これくらいしかないと思います。
補足
レス遅れました。 皆さんアドバイスいただきまして、ありがとうございます。 つまりは、市販のソフトウェアに力技で自分で独自に組んだプログラムを組み込んだり、そういった機能をもっているソフト(存在するか分らない)によって使用期限をせっていすることはできないということですね。 きっとできるのでしょうが、一般的な知識では難しいということでしょうか。 今回の質問のキーワードは 1)市販のパッケージソフトである 2)そのソフトにソフトウェアメーカーの仕様に付加機能をつけるかのように使用期限をもうけさせたい。 ということでした。 ・・・やはり難しいんですね。 さいごに、もし可能性があるのであれば、 どういった勉強をすればよいか、まだあきらめるのが早いのであればもう少しだけアドバイスいただければと思います。 皆さん大変快くお答えいただきましてありがとうございました。
>既存のインストールパッケージ の中身をご自身で.製造販売している等の場合ならば.適当なところを適当に書きかえれば.良いのではありませんか。 どこを書きかえるかは.趣味の問題ですから。 ですから.実施方法としては.1.2.3いずれでも可能でしょう。
初回起動時に.初回起動情報を実行形式ファイルに書きこみます。 実行形式ファイル内で.日時を利用して.日時の指定するアドレスを参照して.FAR JAMPします。 規定日時以外ですと.大体おかしなアドレスを参照しますので.システムが破壊します。 直接実行形式ファイルに書きこむのではなく.実行形式ファイルを作る実効形式ファイルを用意しておく(多分.あるマイクロソフト系ふぁいるはこのルーチンだと思いますけど)と.より.わかりにくいかと思います。 最後に.チェックサムをつけて.「読み取り障害」なんて.メッセージを書くようにすると.ごまかせるでしょう。 ウイルス(トロイの木馬)よりもたちの悪い.ソフトですね。 トロイの木馬は.「悪意」のある人がしかける内容ですが.こちらは.「善意」の人がしかけるないようです。
補足
皆さんあたたかいアドバイス大変ありがとうございます。うれしく思います。 ここで私のレベルなのですが、 UNIXが利用できて、それでWebプログラミングと、ネットワークの知識が多少ある程度です。 ソフトウェア開発に関しては素人同然ですが、おっしゃっていることは何となく理解できます。 しかし、既存のインストールパッケージに皆様がおっしゃっているように起動時に実行形式ふぁいるに書き込むような手法というのは、つまりはこういうことでしょうか? 1)使用期限を設けたいソフトウェア(A)と別にもう一つソフトウェア(B)を作成し、Aが起動したことをきっかけとしてBを動作させる。 2)Aに何らかの方法でインストールパッケージをカスタマイズするような方法で機能を追加する。 3)また別の意味。 一番最初に私のレベルをご紹介しておけばよかったのですが、理解しようと努力しますので、お返事いただければと思います。
- jakarta
- ベストアンサー率38% (607/1597)
>永遠に使えないようにできないだろうかということです。 一度利用した人は二度利用できないレンタルのような感じでしょうか。 No.1で答えた方法は実際に容易な方法ですが、HDDを初期化なりしてしまうと再度インストールすることにより利用可能になってしまいます。 実際に試したことがありませんし、具体的な案件に関わったこともないので単なるアイディアになってしまいますが、別の方法としてはインストールCDにはプロダクトIDを記入し、ユーザのオンライン登録によりシリアルNoを発行する。この場合一度ユーザ登録されたプロダクトIDは2回目のシリアルNoの発行は受け付けないようにします。このシリアルNoの有効期間を試用期間としておく方法です。理屈は簡単ですがユーザ情報を管理するコストが大変だと思います。似たものとしてはインストールCDとは別にレジストレーションキーを格納したFDDを用意する方法です。 もう一つキャンペーンのように大多数が一定期間のみ利用可能なものにしておく方法としてはローカルマシンのタイムを取得する方法だとか、オンライン上のタイムサーバへアクセスさせて利用可能かどうか判断させるという方法もとれるかと思います。 あと私はWinでの開発に詳しくありませんのでよくわかりませんが、Installerを作成するソフト側でゆるやかに期限を設ける方法があるのかもしれません。 ここのカテゴリはエンドユーザ側の質問が多いのでプログラミング(その他)の方で質問されるといい回答がえられるかもしれませんよ。
- jakarta
- ベストアンサー率38% (607/1597)
一番簡単な方法は初期設定としてファイルを作成しインストールした日付けを書き込んでそれを参照する方法です。 商用ソフトの試用版はもっと巧妙な方法を使用しているものもすくなくありません。
補足
大変すばやいレスありがとうございます。 大変申し訳ありませんが、もう少し詳細にお知らせしていただけないでしょうか。参考になるHPなどもご紹介していただければと思います。 私がどのようなことをめざしているかというと、 とあるソフトウェアを一定のライセンスで保有している中で、配布した後、永遠に使えないようにできないだろうかということです。ですので、状況としては。 1)市販のパッケージである。 2)市販のパッケージは試用期間がない。 3)その市販のパッケージに試用期間を設けたい。 ということです。 内容をせいりしてみました。 何かありましたらアドバイスよろしくお願い致します。
お礼
お返事遅れまして申し訳ありません。 私の質問に解凍してくださった皆様、大変ありがとうございます。 今回の件はいろいろと勉強させていただきました。 今後とも精進しますので、またアドバイスよろしくお願い致します。 結局は今回はあきらめることにしました。 市販のソフトウェアに使用期限を設けたいというニーズはきっとたくさんあると思うのですが、ソフトウェアライセンスの問題が大きく引っかかるようですね。 勉強になりました。ありがとうございました。