![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
自分で作成したプログラムを無断でコピーされない方法を探していたら(No.287729 質問:無断コピーを避けるには )という質問がありこの中に「レジストリの中にパスワードを格納してコピーを防止する」という回答がありました。
それでレジストリ関係の書籍3冊ほど読んでみましたが、ほとんどがウィンドウズの細かい設定をかえるものでした。
コピー防止のためのテクニックが載っている書籍やサイトその他なんでもご存知でしたら回答おねがいします。
あとプログラムを逆コンパイル(または逆アセンブル)されるとコピー防止は意味をなさないのでしょうか。
回答よろしく御願いします
No.2ベストアンサー
- 回答日時:
たぶんレジストリについて書いた本がユーザー向けのマニュアル本ですよね。
Windowsのプログラム開発関係の本にプログラムの設定を保存するための方法としてどこかに必ず書いてあるとおもいますが。C++,VBどなど少し方法は違いますがWindows APIでできます。
方法としては
1. ユーザーが購入時にシリアル番号を発行します。
シリアル番号はたとえば10桁の数字にして頭8桁を
連番にして残り2桁は前8桁の各桁の数値を合計し
た数字というようにする(もっともこの決め方を
もっと複雑にしないとすぐに見破られます)。
2. プログラムを最初に起動したときに入力させる。
入力されたシリアルが上記条件にあっているかを
確認する。OKならシリアル番号をレジストリに
保存する。このときもともとのシリアル番号を
そのまま保存するのではなく暗号化して保存
します。こうれもいろいろありますが数十バイトの
データを作成してそこに紛れ込ませるなどです。
ただし、この程度の方法では確信犯には簡単に破ら
れてしまいます。
ハードウェアキーを使ったりLANカードのMACアドレスを参照してPCを特定するといった方法が使われます。
私はコピーする人も悪いけど、させる人にも大きな責任があるとおもいます。もし、登録時にシリアルを発行するならシリアルからユーザーが特定できるのでシリアル番号の流出による不正コピーが発覚した場合には本来の使用者にも流出の責任があるので損害賠償を請求しますとの警告を入れておくのも気休めにはなりそうです。
また、シリアル番号のを決める情報としてユーザー名を元にする手もあります。
つまり、シリアル番号のみ手に入れてもその人の名前を入れないとチェックが通らなくするわけです。こうすれば他人の名前を入れる事で違法コピーを意識させることになりますので少しは抑止効果があると思います。また、起動時のタイトル表示に名前を出せばより効果的だと思います。
コピーガードに関してはどこまでやってもいたちごっこだと思いますので、1本の単価が相当高い場合以外はハード的な手段が使いにくいのでこの辺が限界でしょう。
No.1
- 回答日時:
> コピー防止のためのテクニックが載っている書籍やサイトその他なんでもご存知でしたら回答おねがいします。
該当質問の回答No3さんが仰っているように、その方法を開示してしまったらコピー防止できなくなってしまいます。具体的方法は自分で発明してください。
ざっくり簡単に言うならキーのハッシュ値をレジストリに保存しておけば、そのレジストリキーから元のキーは作れないからと言うことなんですがね。
> あとプログラムを逆コンパイル(または逆アセンブル)されるとコピー防止は意味をなさないのでしょうか。
工夫次第です。
絶対破れない暗号というものは存在しないと言うのと同じと思えばいいでしょう。
ちなみに、この難易度を比較的容易に向上させるのがNo.287729にも登場していたハードウエアキーという方法です。
早速のご返事ありがとうございます。しかしながら回答の専門用語が持っているレジストリの書籍にどれも載っていない(やはり秘密なんでしょうか)ので今の所これ以上コメントできません。今の私の知識でもプログラムソースを見られなければ、コピーされても起動できないようにもできますが、どうも一般的ではないようですので無難に一般的な方法を使おうと書籍を読んだりサイトを見たりしている最中です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 戸籍・住民票・身分証明書 マイナンバーを削り取った場合のデメリットは? 3 2023/02/27 16:22
- 戸籍・住民票・身分証明書 マイナンバーを削り取った場合のデメリットは? 2 2023/03/20 10:17
- ネットワーク ChatGPTは、利用者が開けている他のサイトも見ているのですか? 1 2023/05/30 18:26
- Excel(エクセル) Excel ハイパーリンク設定について 教えてください 例なんですが、 VBAにてファイル1の列Gに 2 2022/11/04 17:52
- 公的扶助・生活保護 生活保護受給者の就労指導について 3 2023/08/25 14:24
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Windows 10 クリックボードからの取り込み 4 2023/04/09 15:29
- Excel(エクセル) Excelの複数ファイルの複数行を別ファイル1つのシートにVBA、マクロで集約する方法 5 2022/09/13 06:30
- Excel(エクセル) EXCEL マクロで 同じフォルダ内の複数ファイルの複数行全体を選択して1つのファイルに集約 4 2022/09/27 18:41
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CD-Rの写真をパソコンに取り込...
-
DVD-RWのデータが消えた・・・...
-
DVDコピー(リッピング)のフリー...
-
PDF-XChange Viewerでの文章一...
-
レンタルCDのコピーが出来ません
-
CDデータのコピーはDVDFabで可...
-
スマホでサイト名コピーしたい
-
エラーを無視してコピーするツール
-
借りてきたDVDを車でみたいので...
-
PC+スキャナー+プリンタで...
-
daemontoolです
-
ゼンリンデジタウンのバックアップ
-
ブルーレイディスク非対応
-
フリーの無料ソフト(DVD Fab)...
-
pdfの編集ソフトについて教えて...
-
DVDシュリンクの違法性
-
レンタルDVDをダビングする方法
-
レンタルCDをPCに落とす
-
筆ぐるめVer.9.0について教えて...
-
勝手が違うのでさっぱり分からない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
audio CDをUSBメモリーに...
-
スマホでサイト名コピーしたい
-
借りてきたDVDを車でみたいので...
-
CD-Rの写真をパソコンに取り込...
-
PDF-XChange Viewerでの文章一...
-
四つ切り画用紙のサイズはコン...
-
ゼンリンデジタウンのバックアップ
-
CDデータのコピーはDVDFabで可...
-
DVDFabで取り込んだ映像ファイ...
-
CD-ROM(ゲーム)をハードにコ...
-
DVD-RWのデータが消えた・・・...
-
HD革命のCloneDiskとCopyDrive...
-
幼稚園DVDのコピーガード
-
photoshopでコピーしたレイヤー...
-
機械などに詳しい方に質問です...
-
HDVR でフォーマットしたDVD-R...
-
隠れトラックをCDに焼くには?
-
CD ManipulatorとDAEMON Tool...
-
DVDコピー(リッピング)のフリー...
-
レンタルCDのコピーが出来ません
おすすめ情報