3

シェアウェアとしてリリースしたい Windows アプリケーションの開発を終えようとしています。C# で開発され、.Net 3.5+ マシンで実行されます。それを使用するには、ユーザーはオンラインである必要があります。

私の意図は、ユーザーに 30 日間試してもらい、その後、登録が購入されるまで機能を制限することです。

インストーラーは、msi ファイルを介して利用可能になります。

これを実装する方法に関する一般的な手順を誰か教えてもらえますか? より具体的な質問がいくつかあります: 私は e コマース サイトを確立するために多額の先行投資をする必要がないようにしようとしているので、ユーザーに支払いを許可する方法を考えていました。その後、ロック解除キーを受け取ります。ここにリストされているような解決策がいくつか見つかりました: 登録サービス

彼らが行くべき道であるかどうか、私はまだ確信が持てません。

私の主な関心事の 1 つは、特定のシリアルの再利用を防ぐことです。たとえば、2 人のユーザーが同時に同じシリアルでプログラムを実行した場合、このシリアルを無効にするか、他の手段を講じる必要があります。もう 1 つのポイントは、私のソフトウェアは、インストーラーを使用せずにあるコンピューターから別のコンピューターにコピーされる可能性があるため、インストーラー自体を保護するだけでは十分ではないということです。

たぶん、このプロセスをすでに行った人は、関連する一般的な手順(1.ドメインを取得する、2.特定の種類のWebホストを取得するなど)のようないくつかの指針を私に与え、上記の問題のいくつかに対処することができます.

人々が私に与えてくれるどんな助けにも感謝します。

4

3 に答える 3

1

役に立つ答えはありませんが、共有したいいくつかの観察事項がありましたが、大きすぎてコメントに収まりませんでした. より技術的な専門知識を持つ他の誰かが詳細を記入できることを願っています。

私の主な関心事の 1 つは、特定のシリアルが再利用されないようにすることです。たとえば、2 人のユーザーが同時に同じシリアルでプログラムを実行した場合、このシリアルを無効にするか、他の手段を講じる必要があります。

2 人のユーザーが同じシリアル番号を使用していないことを確認するには、プログラムで "phone home" を実行する必要があります。多くのソフトウェアは、インストール プロセス中にシリアル番号をユーザーに送信することにより、インストール時にこれを行います。リアルタイムで実行したい場合、アプリケーションは定期的にサーバーに接続し、「このシリアル番号は使用中です」と通知する必要があります。

これはひどくユーザーフレンドリーではありません。シリアル番号チェックが実行されるときはいつでも、ユーザーはインターネットに接続されている必要があり、それを許可するようにファイアウォールが構成されている必要があります。また、サーバー側のもの (ドメイン名、サーバー アーキテクチャ) を永遠に変更しないようにコミットする必要があることも意味します。サーバーがダウンしたり、ドメインを失ったりすると、ソフトウェアが動作しなくなります。

もちろん、(一般的なインターネットではなく) 特定のサービスへの接続が製品の操作に不可欠である場合は、はるかに簡単でユーザー フレンドリーになります。

もう 1 つのポイントは、私のソフトウェアは、インストーラーを使用せずにあるコンピューターから別のコンピューターにコピーされる可能性があるため、インストーラー自体を保護するだけでは十分ではないということです。

ここには 2 つの攻撃ベクトルがあります。1 つは、ユーザーのシステムのどこかに情報を隠していることです。これはそれほど堅牢ではありません。もう 1 つは、ユーザーのハードウェア構成を確認してエンコードし、そのデータをどこかにエンコードすることです。ユーザーがハードウェアを変更した場合は、製品を強制的に再アクティブ化します (これは、Windows と SecuROM が行うことです)。

これを実装するときは、ソフトウェアの違法コピーを防ぐことは文字通り不可能であることを覚えておいてください。(おそらく) 小規模なソフトウェア開発者として、ソフトウェアをクラックする難しさと、DRM がユーザーに与える悪影響とのバランスを取る必要があります。私は個人的に、あなたが説明したチェックを備えたソフトウェアを使用することを非常に躊躇します。私より寛容な人もいます。そうでない人もいます。

于 2009-09-02T14:00:48.460 に答える
1

ハッキングによるコードの破壊を防ぐためのエネルギーと努力には、非常に時間がかかります。流通と販売に専念したほうがいい。

私が初めてシェアウェアに参入したのは 1990 年のことです。それ以来、多くのことが変わりました。Web は静寂に満ちており、静寂を超えて耳を傾ける方法を理解する必要があります。

ここに私が学んだことがあります

  • ソフトウェアに夢中にならないでください。誰かが常に、それは別の方法で機能するべきだと考えるでしょう。それらを自分の考え方に変換しようとするのではなく、耳を傾けて、次のリリースに向けた拡張機能のリストを作成してください。
  • 自分の商品の販売を支援するために誰かに販売または支払いをする方法を学ぶ
  • Digital River は、登録会社のほとんどを所有しています。
  • トラフィックをあなたに戻す無料の損失リーダーを作成する
  • 満たされていないニッチを見つけて埋める
于 2009-11-01T21:56:16.887 に答える
0

コピーを防止する: お客様の NIC MAC に基づいてキーを作成します。ほとんどのユーザーは、NIC MAC を変更する手間をかけません。アプリには、MAC を含むキー要求を作成して送信するためのダイアログが表示されます。

未解決の問題は、多くのアプリがクラックされてウェアーズ サイトに投稿されることです。アプリの複数の場所でキー検証コードを非表示にすることで、この可能性を低くします。正直なユーザーに敬意を持って接するように注意し、キーの検証がユーザーを不快にさせないように注意してください。購入しようとしているキーがノード ロックされていることを明確にします。

そして、市場への浸透を心配してください。条件のない基本製品を提供することで、より大きなインストール ベースを獲得します。乾杯 -- リック

于 2009-09-02T14:42:01.347 に答える