次のマシンにコピーした後、ソフトウェアの実行しないように?

StackOverflow https://stackoverflow.com/questions/2843214

  •  27-09-2019
  •  | 
  •  

質問

私は小さなソフトウェアを開発しました。私が提供し、唯一の商業的にそれを実行したいです。私はそれは私からそれを購入したマシンで実行することにしたい。

私のクライアントコンピュータから、誰かがそれをコピーした場合は、次のコンピュータでそれを実行し、私はソフトウェアを実行している/機能を停止したいと思います。

どのような私のソフトウェアの著作権侵害を防止するための方法になることができますか?

役に立ちましたか?

解決

私の以前の回答の一つの

の適応性:

アプリケーションのカジュアルコピーを停止しようとするソフトウェアをコピーした「活性化」にはいくつかの方法があります。

最も単純なケースでは、登録コード(「CDキー」)は、おそらくあなたのウェブサイトを経由して、あなたから購入し、それをプログラムまたはインストーラに入力するユーザーに送信されます。全体のプロセスは基本的にオフラインで行うことができます。プログラム自体がローカルコードが有効であるか無効であると判断します。

何の「電話をかけ家が」ありませんので、そのアプリケーションが異なる何千人もの人々が、すべての彼らは、インターネットまたはシリアルライブラリを降りたのと同じキーを使用していることを知ることができません -

これはいいと簡単ですが、鍵共有に、それは非常に脆弱ですまたは彼らの友人。これは、実際の開発者によって発行されなかった有効な-見せかけキーを生成する「keygens」を作るために合理的に簡単でもあります。

その後、我々は、オンライン登録に入ります。あなたはまだ、コードのいくつかの種類がありますが、サーバーへのプログラムの意志電話のホームバックは、コードが有効で、通常は一意であるかどうかを判断します。世界中からあまりにも多くの人々はすべて同じ鍵を使用している場合は、会社が知っているので、これは、基本的な鍵共有を停止します。おそらく、特定のいくつかの種類が同じハードウェア上で許可無限の登録で、あまりにも、MACアドレスを使用して関与多分思われるものに限定された数が異なるコンピューターことがあります。

これはまだかなり簡単で、簡単な鍵共有を停止します。人々は、実際にソフトウェアをクラックやそれを乗り越えるためにサーバの応答を偽造に取得する必要があります。

時々、プログラム自体は、部分的に/主に暗号化され、唯一のオンライン登録ステップで復号化されます。これはその後、難読化されてどれだけに依存してはかなり困難で時間解読するがかかることがあります。バイオショックは、このの高プロファイルの例だった - 壊れているのリリースから約2週間かかったブランドの新しい暗号化/コピー保護スキームでデビュー。

最後に、特に警備アプリケーションは、接続が切断された場合は、すべての仕事に拒否、サーバーとの一定の接触にとどまる可能性があります。

あなたは確かに知っている場合、

すべてのユーザーがすべての信頼性の高いインターネット接続を持っていること、それはプライバシーのコストやスパイウェアの一部のユーザーに対する不信感で、アプリを保護するために、非常に強力な方法と考えることができます。

彼らは、サーバー自体偽物に必要となる活性化を回避するために、この場合には、

。スチームエミュレータとすごいプライベートサーバはその一例です。 そして最後に、何もuncrackableではありません。

他のヒント

一言で言えば

:。あなたがすることはできません。

であっても非常に高度利用システム(例えばドングルキー)を回避することができます。 私はあなたの最高の呼び出しは、それが2回使用することができないように、あなたの顧客にコードを与えると、そのコードのためのオンラインチェックを持つことだと思います。

あまりにも回避することができる。もちろん、

、しかし...

ニコが言ったように、あなたは本当にすることはできません。

簡単な解決策は、(登録/アクティベーション)を生成するかもしれない特定のコンピュータにインストールされているハードウェアまたはソフトウェアに基づいているコード - 例えばビデオカードのシリアル番号またはc:/ windowsの作成時刻

私はそれが動作することができる1つのアイデアを持っています。 私たちは何ができる、我々はencorruptedデータベースフィールドを作成し、そのフィールドは、すぐに私はいくつかのマシンに私のソフトウェアをインストールすると、それは、Macアドレス+マザーボードのシリアル+プロセッサIDを読み取って、encorrupted値を行いますと、初めて空になります私が初めて使用するために、空のままにそのフィールドに、これらの3と書き込みを組み合わせました。

私のアプリケーションは、これらの三つの値を読み、同じ方法でencrupptted値を再作成し、そのデータベースフィールドの値と比較します毎回その後

。データベースフィールドと、再生encrrouptedフィールドの値の値が等しい場合、手段はコンピュータが賢明な他の同じそれはあなたがすべてのコードを削除し、罰するために、システムが不安定になることができ、この場合には、いくつかの他のマシンにインストールされていますまた、人:) ... 私はこのアイデアについてのご意見をお知らせしてください。

最善の方法は、あなたのライセンスコードは、それが実行されるマシンに関する暗号化された情報が含まれているハードウェアロックのいくつかの並べ替えを使用することです。お使いのソフトウェアは、この情報を確認し、現在のコンピュータでそれを一致させると、マッチが成功した場合、ライセンスは有効とみなされます。

確かに、任意のスキームは、地球の表面上の誰かによってひび割れすることができますが、それはあなたが保護スキームを使用してはならないという意味ではありません。

あなたは、このための既製のスキームを探している場合は、 CryptoLicensing <を見て/ A>。

など私たちのものとして会社(WIBU-システムズ)、セーフネット、およびフレクセラ(高価な)提供ドングルフリーのソリューションだけでなく、ハードウェアに基づくもの。しかし_simonは、右のドングルのみ鉄壁の防御であることにありました。すべてのソフトウェアベースのシステムでは、ひび割れすることができます。それはいくつかは他よりもより困難であるだけということです。本当に良いハードウェアベースのソリューションは、効果的にuncrackableです。実装は欠陥がされていない限り誰もまだCodeMeterスティックを割れていません。

scroll top