• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アプリを、コピーするだけでは使えないようにしたい)

アプリをコピーするだけでは使えないようにしたい

このQ&Aのポイント
  • Windowsアプリをコピーするだけでは使えないようにする方法について相談です。
  • アプリをコピーされても使えないような仕組みを考えています。
  • 現在のアプリの保護方法では、簡単に回避されてしまう可能性があるため、よりセキュアな方法を探しています。

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

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.1

完全な方法。というのはないでしょうね。 とりあえず、よくあるパターンとしては……NICのMACアドレスを取得して記憶しておく。とかでしょうかねぇ。 NIC壊れたら使えなくなってしまいますし、NICが無い環境ではどうにも出来ません。 # やろうと思えば偽装も可能ですしね。 他には…HDDのシリアルを取得するとか、CPUのシリアルを~とか……そんなところでしょうかね。 # 取得する方法はそれぞれ調べてくださいな。 # ってCPUのシリアルは取れない…か。メモリモジュールのSPDのシリアルなら取れるかなぁ…(モジュールじゃなかったらどうなんだ?とかありますけど) そこら辺、PC固有の情報を取得して暗号化(難読化)なりしてファイルに保存でしょうかね。 起動のたびに取得し直してファイルに記録されている情報と比較。となるでしょう。 # Windowsのアクティベーションみたいな感じですかねぇ。 故障したりアップグレードで交換されるという事もありますので、そこら辺にも気を遣う必要がありますけどね。 WindowsのプロダクトIDを…という方法も有りでしょうかねぇ。 # ボリュームライセンスとかの場合にプロダクトIDが変化するのかは未確認ですけど。 # http://okwave.jp/qa/q3114441.html 同じ…みたいですな。

k_a_z_e
質問者

お礼

早速ご回答いただきありがとうございました。 MACアドレスなど、PC固有の情報とともに、ファイルに保存しておけば、ファイルのコピーだけでは動作しないようにできますね。 具体的な情報、助かります。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.2

ユーザに解りにくく、作成側は簡単。割とコピー防止に有効なのは、USB端子などに接続する「ドングル」という不正コピー防止用の装置を使うことですね。 ただし、そのドングルの値段がソフトに加算されるため、わりと高価な価格設定のアプリでないと、採用は難しいかもしれません。 ちなみに、最近のWindowsアプリはドットネット開発が多く、そのため、実行ファイルであるアセンブリの逆アセンブルによるコード解析が容易だそうです。 なので、難読化ツールも使う必要があるみたいです。 昔、私がやったコピー防止の方法は、フロッピーディスクの通常では読み書きができない領域に情報を書き込む方法でした。つまりは、フロッピー自体がドングルの役割になるわけですね。もちろん、通常のコピーツールでは、丸ごとコピーができない形式でフロッピーに書き込みしておきました。 この場合、本体のソフトをコピーするのは自由だけど、その起動用フロッピーが無いと起動できないわけです。フロッピーを違法コピーしたユーザに渡せば、その人は使えますけど、渡した本人はソフトが使えなくなります。 ただ、フロッピーの破損にそなえて、最初に2枚渡すようにしていましたけどね。 現在は、フロッピードライブを持たないPCが増えていますので無理ですが、もしかすると、USBメモリなどで似たようなことが可能かもしれません。ただ、ちゃんとしたドングルを使用する場合に比べれば、コピー防止機能は低くなると思います。

k_a_z_e
質問者

お礼

ドングルの情報、ありがとうございました。 今後、高価なアプリも作ると思いますので、その時にこれが 良さそうですね。 今回のアプリは、数が少なくて安価なので、ドングルは使えません。 でも、USBメモリで代用できればこれでも良いです。 代用できる方法があるか調べてみます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • コマンドからコピーの仕方を教えてください

    HPUNIXを使用しています。 あるディレクトリから対象の拡張子のみディレクトリ構造ごとコピーを行いたいのですが可能でしょうか? イメージとしては (コピー元) /test/a/1.txt /a/2.txt /a/3.exe /b/4.txt /b/5.exe ※/test/以下の各ディレクトリの*.txtを/test1/にコピーする (コピー後) /test1/a/1.txt /a/2.txt /b/4.txt 「cp -ir」だけだと/test1/直下に全txtファイルが保存されてしまいます。 こういったことはできるのでしょうか? よろしくお願いいたします。

  • ネットワーク上のファイルのコピー

    ネットワーク上のファイルをローカルにコピーする為に FileCopy("\\cp1\D$\aaa\a.txt", "d:\b.txt") を実行したところ ファイル名または番号が不正です(エラー52) が出てしまいます ネットワーク上のPCとユーザとパスワードが違うのでログインでエラーになっているのですが ネットワーク上のPCにユーザを登録するのではなく ユーザ名とパスワードを指定してログインしてから ファイルをコピーする方法はありますでしょうか?

  • ファイルコピーとコードの綺麗な書き方について

    質問です。 特定のファイル名を複数コピーする場合、 理想な処理はなんでしょうか? 1. IF文でファイルを確認してコピー処理 2. *.txtにファイル名を予め書き込んでおいて、   1行づつ読み込んで検索してコピー処理 など…、 コードが綺麗に見えて、尚且つ何処に何があるか オープンソースにした時他人がひと目で分かるような 処理構造とはなんでしょうか? あと If File.Exists("C:\test_A.txt") Then File.Copy("C:\test_A.txt", "D:\test_A.txt", True) Else If File.Exists("C:\test_B.txt") Then File.Copy("C:\test_B.txt", "D:\test_B.txt", True) Else MessageBox.Show("test_B.txt" & vbCr & vbCr & _ "ファイルが見つかりません。再度ダウンロードして下さい", "Error", _ MessageBoxButtons.OK, MessageBoxIcon.Error) End If MessageBox.Show("test_A.txt" & vbCr & vbCr & _ "ファイルが見つかりません。再度ダウンロードして下さい", "Error", _ MessageBoxButtons.OK, MessageBoxIcon.Error) End If と永遠に書いてると、何が何処にあるのか難しいです。 一つ一つの確認に~は無い。~はある場合はコピーというのしたいです。 このIF文も何らかの形で解りやすい処理方法に変更してくれれば 幸いです。 【回答お願い】 1. 最も綺麗に見えて他人からも理解出来て処理が   重くならない方法でコピーするコードを書くには? 2. 上記で記載したIF文を500行ぐらい書いています。   もっと綺麗に書く方法はありますか?

  • ファイル名コピーソフトを探しています.

    ファイル名をコピーしてくれるフリーソフトを探しています. ちょっと特殊?で.Aというフォルダ内のファイル名をBというフォルダ内にファイルの中身は関係なくファイル名のみコピーしたいのです. Aフォルダ内には様々なサイズや種類のファイルがあります. Bフォルダ内には,同じサイズのダミーファイルがあります. Bのファイルはダミーなので,ファイルの中身は適当なファイル(2kb程度のTXTファイル)で構わないのです. Aには約4000個のファイルがあり,Bに事前に同数ファイルを用意する(コピー****というファイル名)でもよいし,ソフトで勝手にコピーしていってくれるともっと助かります. こんな変わった?ファイル名のコピーができるソフトをご存じの方はお手数ですが,教えて頂ければ幸いです. よろしくお願いします.(OSはXPかVistaどちらでもokです)

  • Perlで フォルダ内の全てのファイルを別のフォルダにコピーするには

    お世話になります。 多分ご存知の方には簡単な話だと思いますが教えていただけませんか。 Aフォルダにあるhoge.txtをBフォルダにコピーしたければ use File::Copy; copy "./A/hoge.txt", "./B/hoge.txt" or die $!; で出来るのはわかっているのですが、Aフォルダにある全てのファイルをBフォルダにコピーするというのはどのようなコードを書いたらよいのでしょう。 ちなみにAフォルダには100以上ファイルがあります。ファイルは全部テキストファイルです。

    • ベストアンサー
    • Perl
  • ファイルのコピーについて。(script)どなたか教えてください。

    ファイルをコピーしたいと思っております。 topディレクトリがAAAでその下のサブディレクトリとファイルがあり、それをBBBというディレクトリにそのままコピーしたいのですができません。ファイルを読み込むまではできたのですが、出力方法がわかりません。どなかか教えてください。 AAA/-- --/1A7/sam.txt --/2B3/sam.txt --/3C5/sam.txt コピー↓↓↓↓↓↓↓↓↓↓↓↓↓ BBB/-- --/1A7/sam.txt --/2B3/sam.txt --/3C5/sam.txt 途中までのsourceです import java.io.*; public class copyfile { public static void main(String[] args) { File file = new File("/AAA/"); File[] fileList = file.listFiles(); for(int i=0;i<fileList.length;i++){ System.out.println(fileList[i].getName()); } } }

  • 特定のファイルだけをサブディレクトリ以下のファイルをディレクトリを作成してコピーする。

    下のように各フォルダ内にreadme.txtファイルだけを特定のフォルダ内に コピーしたいのですが、ファイル名が同じなので、元のフォルダ階層のように フォルダを作成して、そのファイルだけがコピーされるようなfindを使った 器用な方法はできるのでしょうか? 私は、次の段階で躓いて折ります。 find ./ -name ".forward" execを使い方法は、 find img/ -type d -exec chmod 604 {} \; のようなことは使ったことはありますが、通過したフォルダを作成して、ファイルをコピーする ような方法はどのように記述したらよいか、わかりません。 A +-- a1.txt | a2.txt | readme.txt B +-- b1.txt | b2.txt | readme.txt C +-- c1.txt c2.txt readme.txt

  • VBアプリからID,パスワード入力できるでしょうか。

    こんなことができるかどうかわかりませんが、実現可否を含めておわかりになる方がいらっしゃったら、方法等、アドバイスいただけますでしょうか。 WEBサイトへのログイン時にベーシック認証が使用されている場合、IDとパスワードを入力するダイアログが表示されますが、このIDとパスワードの入力をキーボードからではなく、VBアプリから入力することはできないでしょうか。 イメージとしては、 (1)あらかじめVBアプリにIDとパスワードを持たせておく。 (2)ベーシック認証のダイアログが表示されたときに、VBアプリのボタンを押す。 (3)ダイアログの各入力欄にIDとパスワードが入力される。 (4)ダイアログのOKボタンを押して、ログイン 以上、よろしくお願い致します。

  • バッチでファイルをコピーしようとするとアクセス拒否

    バッチでファイルをコピーしたいのですが、「アクセスは拒否されました。」という結果が返ってきてコピーできません。 copy A.txt B.txt アクセスは拒否されました。 どうすれば良いでしょうか? OSはWindows Vistaでローカル内でのコピーです。

  • バッチファイルで指定拡張子以外のファイルをコピーする方法

    OK Waveページ内を検索してみましたが、同じような質問をされている方がいないようでしたので、新規で質問させていただこうと思います。 ある特定のフォルダに入っているファイルを、指定した拡張子以外のファイルのみコピーしるバッチファイルを作成したいのですが、よい方法がみつかりません。 コマンドの操作方法をいろいろ調べてはみたのですが、 指定拡張子以外をコピーするようなコマンドがないようです。 例えば、c:\TEST_Aに、a.xls, b.doc, c.txtとファイルがあって、拡張子が"txt"以外のファイルをすべてc:\TEST_Bフォルダにコピーを取りたい場合、どのようにバッチファイルを組めばよいでしょうか。 以上、宜しく御願い致します。