• 締切済み

アプリケーションソフトのプロテクト

VB6.0で作ったプログラムを配布先以外の人がコピーすることを防ぎたいと考えています。 02.11.04の日付でSpurさんが「プロテクトをかけることはできる」と回答されています。 「プロテクト技術解剖学」船本昇竜・すばる舎 を読んでみましたが、プロテクトのための具体的なコードなどは見当たりません。 このような問題について詳しく説明されている情報源はないのでしょうか? もしできればSpurさんに教えていただきたいのですが・・・。

みんなの回答

noname#5584
noname#5584
回答No.2

安易な方法かもしれませんが、ネットワーク機器のMACアドレスを加工 + 暗号化したものをユーザーIDやパスワードにする、という方法が考えられます。 で、ID + パスワードで認証しないと使えないようにすればよい訳です。 Office XP なども「基本的には」このような方法を使っているはずです。 また、COMで使用するGUIDもMACアドレスを種に生成しているらしいです。( たぶん ) # ツッコミどころ満載 ( LANカードを換装した場合の対応など ) なので、眉に唾付けて読んでください。(笑

noname#5643
質問者

お礼

ありがとうございます。 私にしてみれば、教えていただいた方法は「安易な方法」どころではなく、悩んでしまいます。 インターネットに接続している全てのパソコンに、MACアドレスというものが割り当てられているのでしょうか? そういえばこのパソコンにもLANカードなどというものをはめ込んだ記憶があります。

回答No.1

私もネットで調べましたが 有償製品はありますが解説したサイトはみつかりませんでした。 案ですが。 前提として、配布先が不特定多数なく 決まった会社の決まったコンピュータである とします。 1.WIN32APIを使ってレジストリのコンピュータの使用者 を取得 2.1.を何らかの形でテーブル化してもつ (プログラムコンスタント、データベース、CSVファイルなど、用途によって色々考えられますが。。。) 3.実行時に2.のテーブルと1.の使用者を判断して プログラムの実行を決定する。 これだと、管理しているコンピュータ以外では プログラムは動きません。 ただ、デメリットはいっぱいありますm(__)m 管理が面倒、コンピュータが変更、買い替えなどに 対応しないといけない。 なおコンピュータの使用者とは マイ コンピュータ右クリックのプロパティーで 全般タブに表示されているものです。

noname#5643
質問者

お礼

具体案を示していただき、ありがとうございます。 配布先には、不特定多数の個人を想定しています。 コンピュータのシステムについては、あまり詳しくというよりほとんど知りません。 たまたま人にVBを薦められて、参考書を何冊も買って訳がわからないままにプログラムを作り始めちゃったわけです。 そんな状況なので、できるだけシンプルな方法を考えています。 プロテクトの細工などせずに、「このCDまたはFDをコピーしようとした場合には、使用できなくなることがあります」などというラベルを貼るだけでいいか、とも考えました。 でもそれは、あまりにも安易過ぎるのではなかろうかと・・・。 EXEプログラムをCDに、入力データはFDとHDに入れるようにして、CDとFD各1枚のセットで配布する予定です。

関連するQ&A